你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發之遠程推送Push

iOS開發之遠程推送Push

編輯:IOS開發綜合

遠程推送通知

什麼是遠程推送通知

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

為什麼需要遠程推送通知

  • 傳統獲取數據的局限性只要用戶關閉了app,就無法跟app的服務器溝通,無法從服務器上獲得最新的數據內容
  • 遠程推送通知可以解決以上問題不管用戶打開還是關閉app,只要聯網了,都能接收到服務器推送的遠程通知


遠程推送通知使用須知

 

  • 所有的蘋果設備,在聯網狀態下,都會與蘋果的服務器建立長連接什麼是長連接只要聯網了,就一直建立連接
  • 長連接的作用時間校准系統升級查找我的iPhone.. ...
  • 長連接的好處數據傳輸速度快數據保持最新狀態

推送原理

\

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

\

點擊iOSApps的證書

\

進入這樣的界面

\

點擊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中注冊推送

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

 

DeviceToken處理流程

\

 

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

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

\

 

\

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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved