美文网首页
iOS 腾讯信鸽推送——证书,代码,AppDelegate里面创

iOS 腾讯信鸽推送——证书,代码,AppDelegate里面创

作者: 趙小樂 | 来源:发表于2017-01-15 15:48 被阅读1072次

    公司新项目包含通知功能,领导要求使用信鸽推送,因为之前使用的不是信鸽推送,所以也是在这个上面遇到了一些小坑,特此记录下来。

    集成前首先要确认自己的项目证书里https://developer.apple.com是否选择了push notification选项,如果没有选择则点击下部的Edit进行编辑。(注:推送证书分为开发和生产两种)编辑完成后就可以去制作推送证书了,点击Creat Certificate 进行制作;

    点击Creat Certificate 点击Continue 点击进行Choose File添加CSR文件

    之后创建推送证书的时候需要导入CSR文件(Certificate Signing Request);

    之后在上张图添加生成后点击Download进行下载安装(原谅我当时忘记截图了)

    项目推送证书安装后的效果

    然后打开腾讯信鸽平台,选中接入推送应用

    点击“接入推送应用” 接入应用

    进入应用,注意我框出来的部分是主要操作:

    注意框住的部分

    先讲一下上传证书的方法,添加测试设备将在之后的代码部分讲述,这里腾讯要求上传的是pem格式的证书,如下图所示:

    pem格式证书

    生成pem证书的步骤如下;

    先制作P12证书

    之后根据腾讯的信鸽文档,在终端生成pem证书,我这里把证书生成后存放在桌面上了;

    终端上生成pem证书 上传证书

    至此证书部分就全部完成啦!

    下面讲一下在项目里是怎么集成的:

    在项目中的Capabilities勾选下面选项

    下载信鸽 SDK, 解压缩;

    将 XGSetting.h, XGPush.h 以及 libXG-SDK.a 添加到工程;(我在这里遇到了一个坑,我把这些文件导入项目的时候总是报找不到路径的错误,可是我明明很老老实实且本本分分的导入了啊,最后我一怒之下把添加的库删掉,然后直接从Demo里拖到工程里,Bulid一下,完美结束这个坑)

    添加以下库/framework 的引用 CoreTelephony.framework, SystemConfiguration.framework, UserNotifications.framework, libXG-SDK.a 以及 libz.tbd.效果图就不上了

    下面。。。上代码:

    在AppDelegate里面的didFinishLaunchingWithOptions添加以下代码:

    开启Debug,初始化信鸽并注册苹果推送服务 向苹果注册推送服务

    其他的按照信鸽文档或者信鸽的官方Demo添加代码就行了,下面补充一下获得设备token的代码,补上上面添加设备token的坑;

    获得设备token

    然后在信鸽应用的后台添加设备token就可以测试啦

    添加设备token

    特别注意的是,在实际操作时,iOS9系统和iOS10获得推送有一定的区别,在iOS9系统下,我设定了当设备在使用时如果接收到推送,利用本地通知进行推送以保证最佳的用户体验。

    最后,当用户点击通知的时候,可以设置跳转到对应的页面,也可以直接显示通知消息,我这里暂时使用直接显示通知消息。显示时我使用了弹出UIAlertController的方式,因为是在AppDelegate里面创建的UIAlertController,所以代码较以往有些不同,不同之处见下图:

    AppDelegate里面创建的UIAlertController

    至此,信鸽推送已经完成了。祝大家新年快乐!谢谢

    相关文章

      网友评论

          本文标题:iOS 腾讯信鸽推送——证书,代码,AppDelegate里面创

          本文链接:https://www.haomeiwen.com/subject/vnwybttx.html