美文网首页
IOS集成友盟推送

IOS集成友盟推送

作者: 蓝汐o | 来源:发表于2017-09-01 15:02 被阅读0次

一.证书:

1.先去苹果官网申请推送证书,安装到本地后

需要导出推送调试和发布P12到友盟后台

二.代码:

- (void)startUMessageWith:(NSDictionary *)launchOptions{

[UMessage startWithAppkey:UMessageKey launchOptions:launchOptions httpsEnable:true];

//注册通知,如果要使用category的自定义策略,可以参考demo中的代码。

[UMessage registerForRemoteNotifications];

//iOS10必须加下面这段代码。

UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

center.delegate=self;

UNAuthorizationOptions types10=UNAuthorizationOptionBadge|  UNAuthorizationOptionAlert|UNAuthorizationOptionSound;

[center requestAuthorizationWithOptions:types10    completionHandler:^(BOOL granted, NSError * _Nullable error) {

if (granted) {

//点击允许

//这里可以添加一些自己的逻辑

} else {

//点击不允许

//这里可以添加一些自己的逻辑

}

}];

[UMessage setLogEnabled:YES];

[UMessage openDebugMode:YES];

}

//iOS10以下使用这个方法接收通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

{

[UMessage didReceiveRemoteNotification:userInfo];

//        self.userInfo = userInfo;

//定制自定的的弹出框

//    if([UIApplication sharedApplication].applicationState == UIApplicationStateActive)

//    {

//        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"标题"

//                                                            message:@"Test On ApplicationStateActive"

//                                                          delegate:self

//                                                  cancelButtonTitle:@"确定"

//                                                  otherButtonTitles:nil];

//

//        [alertView show];

//

//    }

}

//iOS10新增:处理前台收到通知的代理方法

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler{

NSDictionary * userInfo = notification.request.content.userInfo;

if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {

//应用处于前台时的远程推送接受

//关闭U-Push自带的弹出框

[UMessage setAutoAlert:NO];

//必须加这句代码

[UMessage didReceiveRemoteNotification:userInfo];

}else{

//应用处于前台时的本地推送接受

}

//当应用处于前台时提示设置,需要哪个可以设置哪一个

completionHandler(UNNotificationPresentationOptionSound|UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionAlert);

}

//iOS10新增:处理后台点击通知的代理方法

-(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler{

NSDictionary * userInfo = response.notification.request.content.userInfo;

if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {

//应用处于后台时的远程推送接受

//必须加这句代码

[UMessage didReceiveRemoteNotification:userInfo];

}else{

//应用处于后台时的本地推送接受

}

}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{

NSString *error_str = [NSString stringWithFormat: @"%@", error];

NSLog(@"Failed to get token, error:%@", error_str);

}

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

[UMessage registerDeviceToken:deviceToken];

// 1.2.7版本开始不需要用户再手动注册devicetoken,SDK会自动注册

MYLog(@"UmengDeviceToken-%@",[[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""]

stringByReplacingOccurrencesOfString: @">" withString: @""]

stringByReplacingOccurrencesOfString: @" " withString: @""]);

}

三.调试

坑的地方在于,安装好后去umeng后台添加设备,测试环境测试单播,如果设备无效,多卸载重装几遍,是黑色就可以了

如果看到注册成功了,说明设备有效了

相关文章

  • iOS 友盟推送--关键点/核心点

    |:-| totem iOS集成友盟推送 1.iOS集成“友盟推送”后,友盟服务响应的deviceToken = ...

  • 记录下接友盟ios的推送

    最近项目要接友盟的ios端推送,所以记录下坑点 1.参考的一些博主的步骤 1.玩 iOS 友盟推送 2.iOS集成...

  • swift2.0下集成友盟推送功能

    友盟IOS版本的推送之前是基于OBJC写的,友盟官方提供的API也是基于OBJC。而swift2.0下集成友盟推...

  • iOS集成友盟消息推送

    集成iOS友盟消息推送主要分为两步:1.iOS推送证书配置;2.U-PushSDK集成与配置。 写在前面 1.假设...

  • React Native 的友盟推送

    前言 友盟推送集成失败? 本文带你3分钟快速集成友盟推送~想详细了解友盟集成小伙伴, 可以参考我的往期文章:Rea...

  • IOS集成友盟推送

    一.证书: 1.先去苹果官网申请推送证书,安装到本地后 需要导出推送调试和发布P12到友盟后台 二.代码: - (...

  • 【iOS】集成友盟推送

    首先得注册友盟账号,添加应用,请自行解决。友盟+ 1. 集成SDK 1.下载SDK -- UMessage_Sdk...

  • android集成友盟推送实现离线在线推送及桌面图标角标设置

    本人亲测有效,有问题欢迎评论,互相学习 1、集成友盟推送—根据友盟文档集成即可实现在线推送 2、集成后想要实现点击...

  • 极光推送小结 - iOS

    此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK...

  • iOS开发 - 友盟推送

    在iOS 开发中项目会集成推送功能, 推送的三方很多,如友盟,极光推送.他们的推送原理大致差不多,文档也写的很详细...

网友评论

      本文标题:IOS集成友盟推送

      本文链接:https://www.haomeiwen.com/subject/gvfkjxtx.html