国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS遠(yuǎn)程推送Push開發(fā)教程

2019-10-21 18:52:32
字體:
供稿:網(wǎng)友

遠(yuǎn)程推送通知

什么是遠(yuǎn)程推送通知

顧名思義,就是從遠(yuǎn)程服務(wù)器推送給客戶端的通知(需要聯(lián)網(wǎng))遠(yuǎn)程推送服務(wù),又稱為APNs(Apple Push Notification Services)

為什么需要遠(yuǎn)程推送通知

傳統(tǒng)獲取數(shù)據(jù)的局限性 只要用戶關(guān)閉了app,就無法跟app的服務(wù)器溝通,無法從服務(wù)器上獲得最新的數(shù)據(jù)內(nèi)容

遠(yuǎn)程推送通知可以解決以上問題 不管用戶打開還是關(guān)閉app,只要聯(lián)網(wǎng)了,都能接收到服務(wù)器推送的遠(yuǎn)程通知

遠(yuǎn)程推送通知使用須知

  • 所有的蘋果設(shè)備,在聯(lián)網(wǎng)狀態(tài)下,都會與蘋果的服務(wù)器建立長連接 什么是長連接 只要聯(lián)網(wǎng)了,就一直建立連接
  • 長連接的作用 時間校準(zhǔn) 系統(tǒng)升級 查找我的iPhone .. ...
  • 長連接的好處 數(shù)據(jù)傳輸速度快 數(shù)據(jù)保持最新狀態(tài)

推送原理

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

Provider就是我們公司的服務(wù)器,經(jīng)過蘋果的APNs服務(wù)器找到我們的設(shè)備,給我們設(shè)備上的客戶端應(yīng)用推送消息。那APNs服務(wù)器是如何找到我們的設(shè)備和設(shè)備上的應(yīng)用呢,答案就是DeviceToken,DeviceToken需要配置推送證書才可以獲得,推送證書需要知道我們的APP ID(應(yīng)用的BundleID,應(yīng)用唯一標(biāo)識)和UDID(設(shè)備唯一標(biāo)識),還有自己服務(wù)器的UDID,我們先來打一個推送證書,登錄開發(fā)者中心,點擊證書模塊

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

點擊iOS Apps的證書

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

進(jìn)入這樣的界面

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

點擊App IDs,然后點右上角的加號

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

箭頭所指為應(yīng)用ID描述,我們假設(shè)寫了一個很牛逼的應(yīng)用,ExcitedApp,接下來我們填入App ID,注意這里的App ID是固定的,不能有星號

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

接下來我們添加App所需要的服務(wù),然后點擊Continue

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

一直點擊下一步,完成,在App IDs 列表里面找到我們的ExcitedApp,我們看到

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

發(fā)現(xiàn)Push服務(wù)是黃色警告,這時點擊Edit,找到推送模塊,我們需要配置推送證書了,點擊紅色箭頭所指的位置

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

我們需要一個CSR文件,CSR是一個簽名請求文件,意思就是讓我們的MAC具有調(diào)試推送的權(quán)限,點擊繼續(xù)

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

點擊了繼續(xù)我們看到

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

然后我們打開Mac上的鑰匙串,從證書頒發(fā)機(jī)構(gòu)請求證書

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

前兩個隨便寫,最后選擇存到磁盤

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

完成之后,接下來我們就可以添加CSR文件了

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

添加完,選擇生成

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

證書配好了,下載下來

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

配好了!

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

順帶著我們把發(fā)布的證書也給配了,步驟都一樣

打開我們剛剛下載的證書,添加到鑰匙串中

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

終于能開始整我們的項目了,快哭了都

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

不要忘記修改bundle id 這里還要搞一個真機(jī)調(diào)試的證書才可以

真機(jī)調(diào)試的東西這里不累述,搞了這么多東西,我們終于可以拿到DeviceToken了

在AppDelegate.m中注冊推送

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {      UIUserNotificationType types = UIUserNotificationTypeBadge                                                           | UIUserNotificationTypeSound | UIUserNotificationTypeAlert ;      UIUserNotificationSettings * setting = [UIUserNotificationSettings settingsForTypes:types categories:nil];   [[UIApplication sharedApplication] registerUserNotificationSettings:setting];    return YES; } -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {   NSLog(@"%@",deviceToken); }

DeviceToken處理流程

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

接下來我們用PushMebaby來測試一下我們的推送:https://github.com/stefanhafeneger/PushMeBaby/

將我們的推送證書添加到項目目錄

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

iOS遠(yuǎn)程推送通知,iOS遠(yuǎn)程推送原理,iOS遠(yuǎn)程推送

接下來手機(jī)上就可以收到推送了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 上饶市| 海原县| 始兴县| 华宁县| 平顶山市| 连州市| 济宁市| 专栏| 开原市| 铁力市| 郑州市| 荆州市| 上犹县| 梁山县| 阿拉善右旗| 西林县| 凤阳县| 报价| 尤溪县| 八宿县| 南和县| 平邑县| 理塘县| 宜兰市| 曲周县| 舞钢市| 德庆县| 湖口县| 松江区| 仁布县| 山西省| 交口县| 五华县| 黄浦区| 玛多县| 宜丰县| 仁化县| 高陵县| 北票市| 北票市| 格尔木市|