关于AppDelegate友盟推送不走didRegisterForRemoteNotificationsWithDeviceToken的问题

远程推送的原理就是:

1、手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken;
2、手机端将deviceToken发送到自己公司的后台服务器,用以保存;
3、当后台需要推送消息给用户时,服务器将需要推送的消息和deviceToken传输给APNs;
4、APNs将消息推送给指定的deviceToken对应的手机;
5、用户接收消息;

现在友盟封装的越来越是傻瓜式集成了,简单的一两句话就可以实现。经过实践测试发现,我们在友盟的log中可以找到对应的deviceToken,每一次的卸载安装,app都会获得一个新的deviceToken。我把连续两次获得的deviceToken都添加成友盟的测试设备号,然后分别进行推送,结果发现都可以推送成功,我就懵逼了。(ps:我是在测试环境下实验的,不知道生产环境是不是)也不知道友盟后台是怎么处理的。这样会多产生很多无效的deviceToken啊。

最后,至于为什么不走didRegisterForRemoteNotificationsWithDeviceToken,我是创建了两个AppDelegate的类别,添加了一些方法,可以方法中我并没有重写didRegisterForRemoteNotificationsWithDeviceToken方法,所有想当然的感觉不会产生方法拦截,最后删除了这俩类别,才走didRegisterForRemoteNotificationsWithDeviceToken方法。可把我坑了。做个记录。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 极光推送: 1.JPush当前版本是1.8.2,其SDK的开发除了正常的功能完善和扩展外也紧随苹果官方的步伐,SD...
    Isspace阅读 11,730评论 10 16
  • 前言 我们在实现推送功能的时候,更需要了解下推送的原理机制,这样我们在发现问题时候才好定位到问题的解决办法。 推送...
    進无尽阅读 9,327评论 0 5
  • 推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可...
    iOS开发攻城狮阅读 9,791评论 1 13
  • 参考文章:本地推送:一、iOS推送之本地推送(iOS Notification Of Local Notifica...
    shenkaiqiang阅读 8,568评论 2 8
  • 推送通知注意:这里说的推送通知跟NSNotification有所区别NSNotification是抽象的,不可见的...
    醉叶惜秋阅读 5,445评论 0 3

友情链接更多精彩内容