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="/uploadfile/Collfiles/20160415/20160415090918318.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設備截圖效果: