ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析

ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析

ID:15665554

大?。?33.88 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2018-08-04

ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析_第1頁(yè)
ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析_第2頁(yè)
ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析_第3頁(yè)
ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析_第4頁(yè)
ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析_第5頁(yè)
資源描述:

《ios消息推送機(jī)制的一種實(shí)現(xiàn)方式解析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、IOS推送機(jī)制實(shí)現(xiàn)iOS消息推送的工作機(jī)制可以簡(jiǎn)單的用下圖來(lái)概括:(Provider是指某個(gè)iPhone軟件的Push服務(wù)器,APNS是ApplePushNotificationService的縮寫,是蘋果的服務(wù)器。)上圖可以分為三個(gè)階段:第一階段:應(yīng)用程序把要發(fā)送的消息、目的iPhone的標(biāo)識(shí)打包,發(fā)給APNS。?第二階段:APNS在自身的已注冊(cè)Push服務(wù)的iPhone列表中,查找有相應(yīng)標(biāo)識(shí)的iPhone,并把消息發(fā)送到iPhone。?第三階段:iPhone把發(fā)來(lái)的消息傳遞給相應(yīng)的應(yīng)用程序,并且按照設(shè)定彈出Push通知。?從上圖我們可以看到:1、應(yīng)用程序注冊(cè)消息推送。2、iOS從APNS

2、Server獲取devicetoken,應(yīng)用程序接收devicetoken。3、應(yīng)用程序?qū)evicetoken發(fā)送給PUSH服務(wù)端程序。4、服務(wù)端程序向APNS服務(wù)發(fā)送消息。5、APNS服務(wù)將消息發(fā)送給iPhone應(yīng)用程序。無(wú)論是iPhone客戶端和APNS,還是Provider和APNS,都需要通過(guò)證書進(jìn)行連接。下面我介紹一下幾種用到的證書。一、CSR文件1、生成CertificateSigningRequest(CSR)?2、填寫你的郵箱和常用名稱,并選擇保存到硬盤。?點(diǎn)擊繼續(xù):?這樣就在本地生成了一個(gè)Push.certSigningRequest文件。二、p12文件1、導(dǎo)出密鑰。?2

3、、輸入你的密碼。??這樣就生成了一個(gè)Push.p12文件。?三、SSLcertificate文件?1、用你付過(guò)費(fèi)的帳號(hào)登錄到iOSProvisioningPortal,并新建一個(gè)AppID,這個(gè)過(guò)程可以參考:iOS應(yīng)用的真機(jī)調(diào)試,這樣就會(huì)生成下面這條記錄:?2、點(diǎn)擊右側(cè)的Configure:?3、點(diǎn)擊DevelopmentPushSSLCertificate一行后的Configure:?4、點(diǎn)擊Continue:5、選擇前面生成好的Push.certSigningRequest文件,點(diǎn)擊Generate,出現(xiàn)如下所示的頁(yè)面:6、點(diǎn)擊Continue:7、點(diǎn)擊Download,并將文件命名為a

4、ps_developer_identity.cer。8、點(diǎn)擊Done,你會(huì)發(fā)現(xiàn)狀態(tài)變成了Enabled:?注意:有的AppID的ApplePushNotificationservice列是灰色的,并且不允許使用Configure按鈕,這是因?yàn)锳PNS不支持帶通配符的AppID。到現(xiàn)在為止,我們已經(jīng)生成了三個(gè)文件:1、Push.certSigningRequest2、Push.p123、aps_developer_identity.cer在項(xiàng)目的AppDelegate中的didFinishLaunchingWithOptions方法中加入下面的代碼:?[[UIApplication?share

5、dApplication]?registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert?

6、?UIRemoteNotificationTypeSound?

7、?UIRemoteNotificationTypeBadge)];?通過(guò)registerForRemoteNotificationTypes方法,告訴應(yīng)用程序,能接受push來(lái)的通知。?在項(xiàng)目的AppDelegate中添加下面的方法來(lái)獲取deviceToken:?-(void)application:(UIApplication*)appdidRegisterForRe

8、moteNotificationsWithDeviceToken:(NSData*)deviceToken{NSString*token=[NSStringstringWithFormat:@"%@",deviceToken];NSLog(@"Mytokenis:%@",token);}-(void)application:(UIApplication*)appdidFailToRegisterForRemoteNotificationsWithError:(NSError*)error{NSString*error_str=[NSStringstringWithFormat:@"%@",e

9、rror];NSLog(@"Failedtogettoken,error:%@",error_str);}獲取到的deviceToken,我們可以提交給后臺(tái)應(yīng)用程序,發(fā)送通知的后臺(tái)應(yīng)用程序除了需要知道deviceToken之外,還需要一個(gè)與APNS連接的證書。?這個(gè)證書可以通過(guò)我們前面生成的兩個(gè)文件中得到。?1、將aps_developer_identity.cer轉(zhuǎn)換成aps_developer_ident

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。