遠(yuǎn)程推送

一、證書準(zhǔn)備階段:

? ? ? ? ? ? 創(chuàng)建推送證書,安裝至鑰匙串,導(dǎo)出p12文件,分別上傳至所用的推送平臺.

二、代碼階段:

? ? ? ? ? ? (以小米推送為例,重點是不管用的什么平臺,其實步驟都是一樣的,集成按照文檔來 ? ? ? ? ? ? ? ? ?就行)。

? ? ? ? ? ? ? ?1.注冊推送服務(wù)

?

2.在- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken這個方法里注冊devicetoken.

3.與自己服務(wù)器的交互需要結(jié)合本地服務(wù)器的接口和推送文檔而定(包括注冊推送成功后設(shè)置別名或者賬戶或者regid作為設(shè)備標(biāo)志,需要注意的是,一般每次啟動應(yīng)用都會開啟推送。還有推送用戶的解綁等等)。

4.接下來需要說的是重點了 ? iOS10以后推送做了變化,所以需要iOS10和iOS10之前的版本做兼容。

首先iOS10 之后的推送必須把推送開關(guān)打開,否則不會走獲得devicetoken那個代理方法,收不到推送。如下:

5.如果需要收到推送后做界面跳轉(zhuǎn),那么需要做三個地方的設(shè)置

?第一個:

通過[launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]獲得推送消息傳來的信息,就可以拿到相應(yīng)的信息做跳轉(zhuǎn)了,這個是殺死app必走的方法,注:如果是通過present跳轉(zhuǎn)的,可以加一個延遲,以免數(shù)據(jù)還沒請求成功,而造成界面為空。

第二個:針對于iOS10以下的版本,在這個方法里,做自己的操作

第三個:針對于iOS10以后的版本

導(dǎo)入頭文件

遵守代理

實現(xiàn)代理方法,在此方法里做自己的跳轉(zhuǎn)即可


下面總結(jié)一下推送的原理:首先蘋果的推送服務(wù)通知是由自己專門的推送服務(wù)器APNS (Apple Push Notification service)來完成的。推送的過程需要經(jīng)過四個步驟:

(1)注冊推送服務(wù)。

(2)注冊成功后,APNs會返回給我們一個deviceToken,我們獲取到這個token,將token發(fā)送給自己的服務(wù)器。

(3)當(dāng)需要推送消息時,我們一塊將自己需要推送的消息和deviceToken,一塊兒發(fā)給APNS服務(wù)器,此時我們的應(yīng)用會和APNS服務(wù)器維持一個tcp的長連接。

(4)APNs收到消息時,會根據(jù)deviceToken標(biāo)志。將消息推送到iOS設(shè)備上,設(shè)備上就會顯示自己的服務(wù)器推送的消息了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容