iOS推送相关注意点

最近又在做推送,这次总结一下吧。这次的推送主要是收到通知刷新一个页面
下载好第三方的sdk,依赖库添加一下
*开始创建证书-developer和product*
iOS推送相关注意点_第1张图片
iOS推送相关注意点_第2张图片
两个证书创建完后,一般需要导出.p12类型的文件上传
iOS推送相关注意点_第3张图片

之后开始配置程序里面
按照第三方的文档配置一下,一般都比较简单,我以友盟的推送,说几个注意点

设备接到apns发来的通知,应用处理通知有以下几种情况:

1.app没有运行

这时如果点击通知的显示按钮,会调用didFinishLaunchingWithOptions, 不会调用didReceiveRemoteNotification方法。
如果点击通知的关闭按钮,再点击应用,只会调用didFinishLaunchingWithOptions方法。(ps,第一次进入app,我会调用一次那个刷新页面的接口,这里我就没处理的那么仔细)
iOS推送相关注意点_第4张图片
2.应用在前台(foreground)
这时如果收到通知,会触发didReceiveRemoteNotification方法。
iOS推送相关注意点_第5张图片
3.应用在后台
(1)此时如果收到通知,点击推送通知进入,会调用didReceiveRemoteNotification方法
iOS推送相关注意点_第6张图片
(2)如果看到推送通知后点击app图标进入,则上面两个方法都不会被调用
这时只能在applicationWillEnterForeground或者applicationDidBecomeActive,根据发过来通知中的badge进行判断是否有通知,然后发请求获取数据(这里我不推荐使用第三方推送来管理badge,可以设置为来了通知显示为1,或者和后台商量好来管理)
iOS推送相关注意点_第7张图片
这里我把他管理的都关掉,就是为了上面的最后一种情况,即使没有点击推送通知,我也能根据badge来判断页面要不要刷新iOS推送相关注意点_第8张图片
注意下面的是重点了(我第一次做的时候就跳进去了,年轻的代价)。。。。。。

给指定的人发推送,需要每台设备现在第三方的服务器注册,有两种注册方式-alias(别名)和tag(标签,也就是分组)
每次登陆账号后需要注册(更新)alias和tag。退出登录的时候千万不要忘了注销自己的alias和tag,不然就会出现你已经退出登录,但是仍能收到发给那个账号的推送。
以后遇到了再补充。。。

你可能感兴趣的:(ios,推送,object-c,ios,推送,object-c,ios,推送,apns)