老闆要做推送 現在準備用第三方 極光推送
1. 先去開發者賬号 來到Certificaters 生成兩個證書 (調試用的推送證書 + 釋出程式用的推送證書) 記得點選Push屬性
證書的作用 : 告知蘋果蘋果伺服器是哪台Mac在調試或者釋出可推送程式
是以生成證書必須要 上傳CSR檔案,生成完兩個證書後,下載下傳到本地輕按兩下,備用。
來到鑰匙串,把對應的兩個證書,導出為p12檔案,此時需要你填寫密碼,不要随便設定,極光推送上傳p12檔案的時候,會要求輸入密碼。
如何生成CSR檔案:
在鑰匙串中我們點選我們電腦左上角的鑰匙串選項,在選項中選在證書助理選項中的從證書頒發機構請求證書選項.
随便填,儲存到磁盤即可(後續要上傳生成證書)
2.生成完證書,來到Identifies,要生成你的AppID,需要證書+應用的BundleID 即告知蘋果伺服器 哪台電腦開發的哪個程式
3.描述檔案: 用來釋出程式 或者 調試程式使用的 需要AppID 以及 裝置号 即 哪台電腦開發的哪個程式哪些裝置可以使用,生成完之後,下載下傳到本地,輕按兩下即可。
4.現在來到極光推送的官網,建立新應用,應用名稱最好和自己的應用程式名稱一緻,之後上傳第1個步驟的的兩個p12檔案,成功後會顯示“已驗證”。
5.配置極光的SDK,官網說的很清楚,跟着做就可以了。
6.粘貼極光推送必須要用的3個方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
//categories
[APService
registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
} else {
//categories nil
[APService
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)
#else
//categories nil
categories:nil];
[APService
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)
#endif
// Required
categories:nil];
}
[APService setupWithOption:launchOptions];
return YES;
}
此處的userInfo就是推送來的消息 列印出來的格式為字典 可以根據字典傳來的資訊進行頁面跳轉
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler {
// IOS 7 Support Required
if (application.applicationState == UIApplicationStateActive) {
//程式處于前台
NSLog(@"active");
//把icon上的小圖示設定為0
[application setApplicationIconBadgeNumber:0];
}
NSLog(@"userInfo %@",userInfo);
[APService handleRemoteNotification:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
}
//擷取DeviceToken成功
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
// Required
[APService registerDeviceToken:deviceToken];
}
7.補充,極光推送在發送消息時,可以點選可選設定,增加字段