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

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

集成前首先要确认自己的项目证书里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

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 极光推送: 1.JPush当前版本是1.8.2,其SDK的开发除了正常的功能完善和扩展外也紧随苹果官方的步伐,SD...
    Isspace阅读 6,812评论 10 16
  • 关于推送 关于苹果的推送网上已经有非常多的资源讲解,我在这里就不再累赘。直接切入主题,讲讲如何模拟推送以及处理推送...
    SuperDanny阅读 7,493评论 1 16
  • 前言:现在第三方推送也很多 ,比如极光,融云,信鸽,其原理也是相同利用APNS推送机制 ,前段公司让做自己的推送,...
    OliviaZqy阅读 3,062评论 0 5
  • 原文:http://hechen.info/2015/07/30/iOS-Push-Notification/ 最...
    羊大果阅读 2,975评论 0 8
  • 20171003No167 0930-0950用时20分钟字数830 我们常常会说,自古深情留不住,唯有套路得人心...
    何不可阅读 417评论 0 2