iOS開發之友盟推送配置教程
iOS開發之友盟推送配置教程
引子:
整理電腦檔案的時候發現了以前寫給朋友的一篇關於友盟推送的簡易教程,現在發布到博文中,希望對有需要的人有用。
開發環境及語言:
Xcode7.X
、Objective-C
1、建立一個項目。
1-1(Xcode7.X
配置https
網路請求)
1-2 整合友盟推送SDK
,我這邊整合的是UMessage_Sdk_1.2.3
。版本是1.2.3
。
(友盟iOS SDK
這邊就不介紹了,進入友盟官網就可以下載。)
1-3 代碼部分 (主要在AppDelegate.h
和 AppDelegate.m
檔案中)
1-3-1 AppDelegate.h
檔案內容
// AppDelegate.h// TJJUMPushDemo//// Created by WangJiaheng on 16/1/19.// Copyright ? 2016年 Shixiongwei. All rights reserved./* 友盟推送demo相關說明: 1、友盟官網建立一個推送項目。記住bunding id 應該和項目中的保持一致。 2、複製友盟key。這邊註冊時候需要使用。 3、註冊友盟推送,iOS7和iOS8的註冊方法是不一樣的。這邊需要做系統版本判斷 */#import //友盟key #define UMKEY_PUSH @"569dc08567e58eecca00050e"//判斷版本是否是iOS8#define TJJiOS8 [[UIDevice currentDevice].systemVersion floatValue] >= 8.0@interface AppDelegate : UIResponder @property (strong, nonatomic) UIWindow *window;@end
效果:
1-3-2 AppDelegate.m
檔案內容
(注意:需要匯入標頭檔“#import "UMessage.h"
”)
#import "UMessage.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [UMessage startWithAppkey:UMKEY_PUSH launchOptions:launchOptions]; if(TJJiOS8) {//iOS8以及以下 註冊方法 //register remoteNotification types (iOS 8.0及其以上版本) UIMutableUserNotificationAction *action1 = [[UIMutableUserNotificationAction alloc] init]; action1.identifier = @"action1_identifier"; action1.title=@"Accept"; action1.activationMode = UIUserNotificationActivationModeForeground;//當點擊的時候啟動程式 UIMutableUserNotificationAction *action2 = [[UIMutableUserNotificationAction alloc] init]; //第二按鈕 action2.identifier = @"action2_identifier"; action2.title=@"Reject"; action2.activationMode = UIUserNotificationActivationModeBackground;//當點擊的時候不啟動程式,在幕後處理 action2.authenticationRequired = YES;//需要解鎖才能處理,如果action.activationMode = UIUserNotificationActivationModeForeground;則這個屬性被忽略; action2.destructive = YES; UIMutableUserNotificationCategory *categorys = [[UIMutableUserNotificationCategory alloc] init]; categorys.identifier = @"category1";//這組動作的唯一標示 [categorys setActions:@[action1,action2] forContext:(UIUserNotificationActionContextDefault)]; UIUserNotificationSettings *userSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:[NSSet setWithObject:categorys]]; [UMessage registerRemoteNotificationAndUserNotificationSettings:userSettings]; } else {//iOS 8.0以下 註冊方法 [UMessage registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert]; } [UMessage setLogEnabled:YES]; return YES;}#pragma mark -#pragma mark 註冊- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ [UMessage registerDeviceToken:deviceToken]; NSLog(@"deviceToken:%@",deviceToken);//token值 NSLog(@"deviceToken:%@",[[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""] stringByReplacingOccurrencesOfString: @">" withString: @""] stringByReplacingOccurrencesOfString: @" " withString: @""]); //token值 ,我們添加測試裝置的時候,複製這行。注意不能是空格的。}#pragma mark -#pragma mark 收到推送訊息- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ [UMessage didReceiveRemoteNotification:userInfo];}
如下:
1-4 認證配置,bunding ID
配置,這邊需要建立推送認證,以下講解認證的建立和配置。
這邊bunding ID
為”com.umpushdemo.TJJUMPushDemo
”。
2、友盟官網建立應用,並開通訊息推送。
2-1 登陸友盟官網,建立一個應用。建立好應用之後,效果如下:(每個應用的AppKey
是唯一的,這也是代碼中,宏定義的那個友盟Key
)
2-2 添加訊息推送。(具體步驟如下:)
下一步:
vc/IzPi5/aGjoaOho6GjoaOho6GjoaPM+Neqtb0mbGRxdW87PHN0cm9uZz69+NDQ1qTK6bS0vag8L3N0cm9uZz4mcmRxdW87o6k8L3A+DQo8cD4yLTQgyc+0q9akyumjqFBTOtLRvq20tL2ousPBy9akyumjqTxiciAvPg0KPGltZyBhbHQ9"6" src="http://www.bkjia.com/uploads/allimg/160416/0433422223-6.png" title="\" />
下一步:
下一步:
3、推送認證建立(這邊以開發認證為例,發布認證步驟和這裡是一樣的)
3-1 建立一個 APP ID
(推送認證的APP ID
必須是唯一的,不能是帶有萬用字元號的)
下一步:
下一步:
下一步:
下一步:
3-2 建立認證 開發推送認證
3-2-1 添加開發推送認證
下一步:
3-2-2 相關配置選擇
下一步:
下一步:
3-2-3 開啟我們電腦的鑰匙串工具,建立機構請求認證
下一步:
建立好機構請求認證之後,儲存到本地磁碟,然後開啟蘋果開發人員網站,繼續下一步配置。上傳機構請求認證。
上傳成功之後,下載認證到本地,然後雙加安裝。(需要匯出P12檔案)
配置好開發推送認證之後,可以點擊APP IDs對應的app id進行查看,如下:
3-3 匯出P12檔案操作(前提,需要安裝剛剛下載的認證檔案。)
3-3-1 開啟鑰匙串
下一步:
下一步:
3-4 建立認證描述檔案,並安裝,在Xcode配置認證中需要用到。(3-3匯出P12檔案,可以繼續2-4繼續建立友盟推送應用的配置了。具體返回到2-4 看操作步驟。)
下一步:
下一步:
下一步:
下一步:
下一步:
下一步:
所有的認證弄好之後,應該有4個。如下。
4、Xcode 項目相關配置
Xcode
運行應用,列印出Token
,這邊添加裝置需要指定Token
值,每台iOS裝置對應的Token
值都是唯一的。
這邊用作友盟測試,如果需要我們的伺服器後台推送的話,這個Token
值是需要傳給我們自己的後台伺服器的,具體怎麼傳,不用教了吧,應該是後台服務介面拼接上傳參數的事情。這邊我只是在項目工程裡面進行了列印操作。
4-1 Xcode中,應用配置。
1)bunding id。
2)認證選擇
3)應用運行後:
4)Xcode控制台Token值列印:
5、推送測試,登陸友盟。選中剛剛建立好的應用。點擊訊息推送。
5-1、添加測試裝置。需要Token值
下一步:
下一步:
iOS裝置效果: