1、先到极光推送的官网下载了Demo,试跑了一下发现报错,查了一些原因包括 说是Xcode问题,reset模拟机还是不行 最终发现是bundleID不能为空。
2、按照提供的开发文档,注册了应用并获取APPkey。在注册过程需要上传推送证书的p12文件。这里就按着流程在developerCenter制作就可以了。忘记了或者不熟悉了,文档有详细的步骤。
3、更改Demo里Appdelegate里的几个值。appKey,isProduction,channel
appkey不用解释 , isProduction是生成模式还是开发模式 、 channel 发布渠道. (可选) 这个不懂什么意思。
4、bundleID 注意别错.调试的证书选择要与推送证书里的选择已知。 (这里是个坑,由于公司开发者账号三个,然后管理混乱,选择的时候要分清对应的)。
5。然后就是代码了,代码特别简单.
(1)先login,要传入appKey,isProduction,channel ,advertisingId(广告符可要可不要)
(2)注册通知,包括连接状态的实时提示。还有自定义消息的接收 都是通过监听实现的。
(3)然后还有接收APNs的推送的方法,(但是这代码有什么用呢?应该是向服务器反馈),另外还有JMessage一个版块的接口是极光做IM用的。但是没有用到.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:
(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
[JPUSHService handleRemoteNotification:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
}
(4)服务器端发送通知可以按设备平台,或者Tag 与 Alias 都是可以的。tag值与Alias都是可以设置的。(这里设置的时候要留意是集合) 通过这个,服务器端来识别你这个设备。来准备找到接受通知的设备
(4)appCount 是服务器端给的. 极光服务器存储了一个count 每次发推送的时候 就给count+1.
但是客户端提供了接口可以重置appCount的存储值.