注册极光推送

一.在 AppDelegate.h 文件中定义appKey、channel、isProduction三个字段

#import <UIKit/UIKit.h>

static NSString *appKey = @"XXXXXXXXXX";

static NSString *channel = @"Publish channel";

static BOOL isProduction = FALSE;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end

二.在 AppDelegate.m 文件中添加 极光推送的头文件 和 iOS 10.0 以上系统版本的 <UserNotifications/UserNotifications.h>

#import "JPUSHService.h"

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0

#import <UserNotifications/UserNotifications.h>

#endif

三.添加代理方法

@interface AppDelegate ()<UNUserNotificationCenterDelegate,JPUSHRegisterDelegate>

四.注册极光推送

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

//3.0.0以前版本旧的注册方式

if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {

#ifdef NSFoundationVersionNumber_iOS_9_x_Max

JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];

entity.types = UNAuthorizationOptionAlert|UNAuthorizationOptionBadge|UNAuthorizationOptionSound;

[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];

#endif

} else if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {

//可以添加自定义categories

[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |

UIUserNotificationTypeSound |

UIUserNotificationTypeAlert)

categories:nil];

}

//如不需要使用IDFA,advertisingIdentifier 可为nil

[JPUSHService setupWithOption:launchOptions appKey:appKey

channel:channel

apsForProduction:isProduction

advertisingIdentifier:nil];

//2.1.9版本新增获取registration id block接口。

[JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {

if(resCode == 0){

//            NSLog(@"registrationID获取成功:%@",registrationID);

}

else{

//            NSLog(@"registrationID获取失败,code:%d",resCode);

}

}];

}

//注册成功,获取deviceToken

- (void)application:(UIApplication *)application

didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

//    NSLog(@"%@", [NSString stringWithFormat:@"Device Token: %@", deviceToken]);

[JPUSHService registerDeviceToken:deviceToken];

}

- (void)application:(UIApplication *)application

didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {

//    NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);

}

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1

- (void)application:(UIApplication *)application

didRegisterUserNotificationSettings:

(UIUserNotificationSettings *)notificationSettings {

}

- (void)application:(UIApplication *)application

handleActionWithIdentifier:(NSString *)identifier

forRemoteNotification:(NSDictionary *)userInfo

completionHandler:(void (^)())completionHandler {

}

#endif

+ (void)registrationIDCompletionHandler:(void(^)(int resCode,NSString *registrationID))completionHandler{

}

iOS 注册极光推送相关推荐

  1. iOS10 注册极光推送(干货)

    苹果在iOS10上对apns推送做了修改, 极光也是很给力的, 在第一时间就对sdk进行了更新, 下面对iOS10注册极光推送进行一下记录. 首先, 在极光的开发者服务里注册应用获取appKey, 在 ...

  2. iOS:极光推送控制器跳转

    在前面已经做完了极光消息的推送,那么有消息了,如何跳转到需要的控制器呢?其实,主要还是在userInfo这个消息里面做判断来处理,具体如下: 下面这两个是远程推送时接收消息的方法,这是应用程序提供的方 ...

  3. iOS开发-极光推送SDK使用笔记

    推送作为一个产品必备功能,越来越得到所有人的重用,市面上做推送的第三方公司也有很多,像个推,百度,甚至友盟也出了推送功能.用什么不是我们能决定的,而是上级或产品决定的,所以我负责的项目用了极光推送,我 ...

  4. 制作IOS 后台极光推送时,遇到的小问题

    推送广义上分为两种, 一种是  程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作.这个叫做自定义消息.这个是在前台时,app与极光后台建立了一个长链接. 另一种是  程序处于前. ...

  5. 关于Cordova iOS 工程极光推送通知自定义声音的设置

    前提条件:你已经在极光官网后台申请了极光推送所需要的APP_KEY,以及在苹果开发者中心在你的项目中开启了推送权限,并制作了推送证书上传到极光后台,前面这些不知道怎么设置的,请自行问度娘.没办法,io ...

  6. iOS开发极光推送显示 开发证书没有通过验证 是否重新上传证书?解决方法

    1.证书密码错误 2证书环境不匹 3导证书时因手误把私钥导出来了,而不是证书 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候请不要展开证书: ...

  7. Ionic项目中使用极光推送

    附上我的真言(尽信书不如无书),别人的始终是别人的不一定适合你,你只有走出自己的路,才能达到武道巅峰( bb一下) ,你百度ioni极光推送会出现一大群,但是你按照他的来,一定会出现这样那样的bug, ...

  8. 极光推送配置(Android Studio),亲测有效

    进行到这里就可以接收到通知了,但是如果你还想根据接收的消息做点什么 step8: public class MyReceiver extends BroadcastReceiver {private ...

  9. 极光推送在Android端的集成

    这个周末,是最颓废的一个周末了.工作以来,基本每个周末都会学习点知识或者总结些东西.这个周末,身体不是很舒服,结果躺床上打了两天农药,也没有写博客.今天周一,正好我工作不忙,把上周末的博客补上.今天的 ...

  10. 极光推送小结 - iOS

    此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK 后 code 层级部分. 注:此次分享基于 SDK 3.1.0,若版本相差较大,仅供 ...

最新文章

  1. CVPR2020最新论文扫描盘点(上)
  2. html实现pdf预览打印机,Pdf操作(HTML转PDF,PDF直接网页连接打印机)
  3. 120000字,你们要的Java 并发编程图文小册整理出来了,免费送给大家!
  4. Unity Package Manager Error的解决方案
  5. SpringBoot2.1.5(23)---SpringBoot 开发WEB应用
  6. (ACL+ICML)2020推荐系统相关论文聚焦(附下载链接)
  7. linux losetup
  8. Elasticsearch之settings和mappings(图文详解)
  9. ajax 返回数组某个属性值,jQuery Ajax向某个页面传值并取得返回的数组
  10. opencv-牛刀小试
  11. 最快零基础上手——latex文档标题、一级标题、二级标题、内容搭建
  12. dedecms友情链接字数修改
  13. 无线AP和无线路由器区别 wifi热点
  14. 男生心疼女生的12种方式
  15. html5设置单元格行高,单元格的行高怎么设置 EXCEL文档怎么统一设置行高
  16. 根据目标检测结果裁剪bbox保存到本地,python,opencv
  17. 智能风控平台核心之风控决策引擎(三)
  18. aps助油田服务与设备行业实现数字化
  19. cocos2dx-2.1.5-孤狼优化版
  20. python-坦克大战游戏项目

热门文章

  1. windows自带黑体_微软黑体下载-微软黑体官方下载[字体下载]-华军软件园
  2. jQuery插件的简单使用及制作
  3. 亲身体验过13款滚动截屏App,谁才是最好用的iPhone长截屏工具?
  4. HenCoder Android 自定义 View 1-6:属性动画(上手篇)
  5. 宏杉科技中标中国移动存储集采喜获50%份额
  6. html文件一打开就未响应,我的电脑里的文件一右击就未响应是什么状况 求解决...
  7. oracle登录卡,【Oracle连接问题】关于windows xp3上oracle连接登录卡住的问题
  8. 电信光猫DDNS的设置经历
  9. ios 热更新可行性分析
  10. Python算法教程:强连通分量