iOS 注册极光推送
注册极光推送
一.在 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 注册极光推送相关推荐
- iOS10 注册极光推送(干货)
苹果在iOS10上对apns推送做了修改, 极光也是很给力的, 在第一时间就对sdk进行了更新, 下面对iOS10注册极光推送进行一下记录. 首先, 在极光的开发者服务里注册应用获取appKey, 在 ...
- iOS:极光推送控制器跳转
在前面已经做完了极光消息的推送,那么有消息了,如何跳转到需要的控制器呢?其实,主要还是在userInfo这个消息里面做判断来处理,具体如下: 下面这两个是远程推送时接收消息的方法,这是应用程序提供的方 ...
- iOS开发-极光推送SDK使用笔记
推送作为一个产品必备功能,越来越得到所有人的重用,市面上做推送的第三方公司也有很多,像个推,百度,甚至友盟也出了推送功能.用什么不是我们能决定的,而是上级或产品决定的,所以我负责的项目用了极光推送,我 ...
- 制作IOS 后台极光推送时,遇到的小问题
推送广义上分为两种, 一种是 程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作.这个叫做自定义消息.这个是在前台时,app与极光后台建立了一个长链接. 另一种是 程序处于前. ...
- 关于Cordova iOS 工程极光推送通知自定义声音的设置
前提条件:你已经在极光官网后台申请了极光推送所需要的APP_KEY,以及在苹果开发者中心在你的项目中开启了推送权限,并制作了推送证书上传到极光后台,前面这些不知道怎么设置的,请自行问度娘.没办法,io ...
- iOS开发极光推送显示 开发证书没有通过验证 是否重新上传证书?解决方法
1.证书密码错误 2证书环境不匹 3导证书时因手误把私钥导出来了,而不是证书 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候请不要展开证书: ...
- Ionic项目中使用极光推送
附上我的真言(尽信书不如无书),别人的始终是别人的不一定适合你,你只有走出自己的路,才能达到武道巅峰( bb一下) ,你百度ioni极光推送会出现一大群,但是你按照他的来,一定会出现这样那样的bug, ...
- 极光推送配置(Android Studio),亲测有效
进行到这里就可以接收到通知了,但是如果你还想根据接收的消息做点什么 step8: public class MyReceiver extends BroadcastReceiver {private ...
- 极光推送在Android端的集成
这个周末,是最颓废的一个周末了.工作以来,基本每个周末都会学习点知识或者总结些东西.这个周末,身体不是很舒服,结果躺床上打了两天农药,也没有写博客.今天周一,正好我工作不忙,把上周末的博客补上.今天的 ...
- 极光推送小结 - iOS
此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK 后 code 层级部分. 注:此次分享基于 SDK 3.1.0,若版本相差较大,仅供 ...
最新文章
- CVPR2020最新论文扫描盘点(上)
- html实现pdf预览打印机,Pdf操作(HTML转PDF,PDF直接网页连接打印机)
- 120000字,你们要的Java 并发编程图文小册整理出来了,免费送给大家!
- Unity Package Manager Error的解决方案
- SpringBoot2.1.5(23)---SpringBoot 开发WEB应用
- (ACL+ICML)2020推荐系统相关论文聚焦(附下载链接)
- linux losetup
- Elasticsearch之settings和mappings(图文详解)
- ajax 返回数组某个属性值,jQuery Ajax向某个页面传值并取得返回的数组
- opencv-牛刀小试
- 最快零基础上手——latex文档标题、一级标题、二级标题、内容搭建
- dedecms友情链接字数修改
- 无线AP和无线路由器区别 wifi热点
- 男生心疼女生的12种方式
- html5设置单元格行高,单元格的行高怎么设置 EXCEL文档怎么统一设置行高
- 根据目标检测结果裁剪bbox保存到本地,python,opencv
- 智能风控平台核心之风控决策引擎(三)
- aps助油田服务与设备行业实现数字化
- cocos2dx-2.1.5-孤狼优化版
- python-坦克大战游戏项目
热门文章
- windows自带黑体_微软黑体下载-微软黑体官方下载[字体下载]-华军软件园
- jQuery插件的简单使用及制作
- 亲身体验过13款滚动截屏App,谁才是最好用的iPhone长截屏工具?
- HenCoder Android 自定义 View 1-6:属性动画(上手篇)
- 宏杉科技中标中国移动存储集采喜获50%份额
- html文件一打开就未响应,我的电脑里的文件一右击就未响应是什么状况 求解决...
- oracle登录卡,【Oracle连接问题】关于windows xp3上oracle连接登录卡住的问题
- 电信光猫DDNS的设置经历
- ios 热更新可行性分析
- Python算法教程:强连通分量