极光推送分为两种:自定义消息推送和APNS推送,二者各有千秋。首先说自定义消息推送:自定义消息推送是服务器直接给你手机App发送消息,它的优点是高效快速,可以达到及时性,缺点是在程序未启动的时候收不到自定义消息通知。APNS推送就不一样了,他分为三种状态:程序未启动(被杀死状态),程序在前台运行,程序在后台运行。优点是各种状态下都能收到消息。缺点是收到消息的速度有时候会很慢,这个取决于你的网速,还有一方面是服务器发送的推送消息其实是先到苹果的APNS服务器,APNS服务器是在美国,所有相应的话肯定会有延迟的,最后才有APNS转到你的App应用
我这里只讲的远程通知消息。(首先集成极光最新SDK)
首先 , 应用未启动(被杀死)时, 收到推送, 当点击推送时,就会触发这个方法
这里是程序启动的入口,因为程序还没加载进来,所以要延迟1.5s执行(现在我的iOS10以上系统貌似不需要延迟启动了)
其次 , 当应用已经启动时,这个回调方法是iOS6以及iOS6之前的回调方法。现在基本用不到这个了(可以直接忽略)
这个回调方法是iOS7---iOS10的回调方法,iOS10以上系统的手机是不会走这个方法(你可以打个断点看下)
分为两种状态。在前台和在后台,可以自定义一些操作
最后就是跳转界面了。可以根据后台给的数据来执行相应的操作
最关键的来了。下面是iOS10以及iOS10以上系统的回调方法:
�态度决定一切