iOS开发之友盟推送配置教程

iOS开发之友盟推送配置教程
引子:
整理电脑文件的时候发现了以前写给朋友的一篇关于友盟推送的简易教程,现在发布到博文中,希望对有需要的人有用。
开发环境及语言:
Xcode7.XObjective-C
1、创建一个项目。

1-1(Xcode7.X 配置https网络请求)

1

1-2 集成友盟推送SDK,我这边集成的是UMessage_Sdk_1.2.3。版本是1.2.3
(友盟iOS SDK这边就不介绍了,进入友盟官网就可以下载。)

1-3 代码部分 (主要在AppDelegate.hAppDelegate.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 <UIKit/UIKit.h>
//友盟key 
#define UMKEY_PUSH @"569dc08567e58eecca00050e"
//判断版本是否是iOS8
#define TJJiOS8 [[UIDevice currentDevice].systemVersion floatValue] >= 8.0
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

截图效果:

iOS开发之友盟推送配置教程_第1张图片

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
iOS开发之友盟推送配置教程_第2张图片

2-2 添加消息推送。(具体步骤如下截图:)
iOS开发之友盟推送配置教程_第3张图片

下一步:
iOS开发之友盟推送配置教程_第4张图片

2-3 这边需要上传证书才能添加,所到这里,我们需要进行证书创建的操作。最后再来进行证书上传。
(这步先跳过。。。。。。。。跳转到“进行证书创建”)

2-4 上传证书(PS:已经创建好了证书)

下一步:
iOS开发之友盟推送配置教程_第5张图片

下一步:
iOS开发之友盟推送配置教程_第6张图片

3、推送证书创建(这边以开发证书为例,发布证书步骤和这里是一样的)
3-1 创建一个 APP ID (推送证书的APP ID必须是唯一的,不能是带有通配符号的)
iOS开发之友盟推送配置教程_第7张图片

下一步:
iOS开发之友盟推送配置教程_第8张图片

下一步:

下一步:

下一步:
iOS开发之友盟推送配置教程_第9张图片

3-2 创建证书 开发推送证书
3-2-1 添加开发推送证书
iOS开发之友盟推送配置教程_第10张图片

下一步:
iOS开发之友盟推送配置教程_第11张图片

3-2-2 相关配置选择
iOS开发之友盟推送配置教程_第12张图片

下一步:
iOS开发之友盟推送配置教程_第13张图片

下一步:

3-2-3 打开我们电脑的钥匙串工具,创建机构请求证书
iOS开发之友盟推送配置教程_第14张图片

下一步:

创建好机构请求证书之后,保存到本地磁盘,然后打开苹果开发者网站,继续下一步配置。上传机构请求证书。
iOS开发之友盟推送配置教程_第15张图片

上传成功之后,下载证书到本地,然后双加安装。(需要导出P12文件)

iOS开发之友盟推送配置教程_第16张图片

配置好开发推送证书之后,可以点击APP IDs对应的app id进行查看,截图如下:

3-3 导出P12文件操作(前提,需要安装刚刚下载的证书文件。)
3-3-1 打开钥匙串
iOS开发之友盟推送配置教程_第17张图片

下一步:
iOS开发之友盟推送配置教程_第18张图片

下一步:

3-4 创建证书描述文件,并安装,在Xcode配置证书中需要用到。(3-3导出P12文件,可以继续2-4继续创建友盟推送应用的配置了。具体返回到2-4 看操作步骤。)
iOS开发之友盟推送配置教程_第19张图片

下一步:

下一步:
iOS开发之友盟推送配置教程_第20张图片

下一步:
iOS开发之友盟推送配置教程_第21张图片

下一步:

下一步:
iOS开发之友盟推送配置教程_第22张图片

下一步:
iOS开发之友盟推送配置教程_第23张图片

所有的证书弄好之后,应该有4个。截图如下。

4、Xcode 项目相关配置
Xcode运行应用,打印出Token,这边添加设备需要指定Token值,每台iOS设备对应的Token值都是唯一的。
这边用作友盟测试,如果需要我们的服务器后台推送的话,这个Token值是需要传给我们自己的后台服务器的,具体怎么传,不用教了吧,应该是后台服务接口拼接上传参数的事情。这边我只是在项目工程里面进行了打印操作。

4-1 Xcode中,应用配置。
1)bunding id。

2)证书选择

3)应用运行后截图:

4)Xcode控制台Token值打印截图:
iOS开发之友盟推送配置教程_第24张图片

5、推送测试,登陆友盟。选中刚刚创建好的应用。点击消息推送。

5-1、添加测试设备。需要Token值
iOS开发之友盟推送配置教程_第25张图片

下一步:
iOS开发之友盟推送配置教程_第26张图片

下一步:
iOS开发之友盟推送配置教程_第27张图片

iOS设备截图效果:

后记:
这篇文章主要将本人配置友盟推送的过程详细截图说明,有些步骤是需要后置的,就是步骤中有些需要后续证书配置之后才能继续完善的,所以在查阅过程中,可能需要跳跃看。文章写得很仓促,当时候也是朋友急于开发需求,临时写的,后续也没做修改。整篇文章图片较多,所以写博文上传图片耗费太长时间,如果有图片错误或者不正确的,希望有心者留言指正。
对应pdf文档下载链接如下:
友盟推送配置教程.pdf

你可能感兴趣的:(ios,推送)