iOS遠程推送Push開發教程_IOS

來源:互聯網
上載者:User

遠程推播通知

什麼是遠程推播通知

顧名思義,就是從遠程伺服器推送給用戶端的通知(需要連網)遠程推送服務,又稱為APNs(Apple Push Notification Services)

為什麼需要遠程推播通知

傳統擷取資料的局限性 只要使用者關閉了app,就無法跟app的伺服器溝通,無法從伺服器上獲得最新的資料內容

遠程推播通知可以解決以上問題 不管使用者開啟還是關閉app,只要連網了,都能接收到伺服器推送的遠程通知

遠程推播通知使用須知

  • 所有的蘋果裝置,在連網狀態下,都會與蘋果的伺服器建立長串連 什麼是長串連 只要連網了,就一直建立串連
  • 長串連的作用 時間校準 系統升級 尋找我的iPhone .. ...
  • 長串連的好處 資料轉送速度快 資料保持最新狀態

推送原理

Provider就是我們公司的伺服器,經過蘋果的APNs伺服器找到我們的裝置,給我們裝置上的用戶端應用推送訊息。那APNs伺服器是如何找到我們的裝置和裝置上的應用呢,答案就是DeviceToken,DeviceToken需要配置推送認證才可以獲得,推送認證需要知道我們的APP ID(應用的BundleID,應用唯一標識)和UDID(裝置唯一標識),還有自己伺服器的UDID,我們先來打一個推送認證,登入開發人員中心,點擊認證模組

點擊iOS Apps的認證

進入這樣的介面

點擊App IDs,然後點右上方的加號

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

接下來我們添加App所需要的服務,然後點擊Continue

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

發現Push服務是黃色警告,這時點擊Edit,找到推送模組,我們需要配置推送認證了,點擊紅色箭頭所指的位置

我們需要一個CSR檔案,CSR是一個簽章要求檔案,意思就是讓我們的MAC具有調試推送的許可權,點擊繼續

點擊了繼續我們看到

然後我們開啟Mac上的鑰匙串,從憑證授權單位請求認證

前兩個隨便寫,最後選擇存到磁碟

完成之後,接下來我們就可以添加CSR檔案了

添加完,選擇產生

認證配好了,下載下來

 

配好了!

順帶著我們把發布的認證也給配了,步驟都一樣

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

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

不要忘記修改bundle id 這裡還要搞一個真機調試的認證才可以

真機調試的東西這裡不累述,搞了這麼多東西,我們終於可以拿到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處理流程 

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

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

 

接下來手機上就可以收到推送了。

本文已被整理到了《iOS推送教程》,歡迎大家學習閱讀。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.