一.角标不累加解决办法
1.登陆极光推送 按照下图设置即可 (其实就是设置 +1 )
二.角标不清空
这一个问题指的是,收到推送,并且点击推送进入 App 后,角标仍然会有。
解决办法:
- (void)applicationDidBecomeActive:(UIApplication*)application {
//即每次打开APP初始化角标
[UIApplication sharedApplication].applicationIconBadgeNumber=0;
[JPUSHService setBadge:0];
}
三.生产证书收不到推送
1.确保苹果网站的这个地方全是绿色
2.确保极光推送这里是绿色的
3.重点来了 极光推送的这个方法改成生产环境的数值 apsForProduction:1 1是生产环境 0是开发环境(默认是0)
[JPUSHService setupWithOption:launchOptions appKey:appKey
channel:channel
apsForProduction:isProduction
advertisingIdentifier:advertisingId];
改完以后,用 ad-hoc 打包成ipa文件,然后AirDrop到自己的 iPhone 里面,然后安装 App 。给app开启推送权限,这个时候在去极光推送的后台选择生产环境推送就好了。(一定得打包安装,Xcode 直接安装不可以)
四.点开推送跳转对应页面 解决办法
我的需求是:推送里面有一个链接我点击通知的时候打开 App 并且 webView 加载这个界面。
先上代码:(这个方法是AppDelegate.h里面的,是集成极光推送框架的方法)
// iOS 10 Support
- (void)jpushNotificationCenter:(UNUserNotificationCenter*)center didReceiveNotificationResponse:(UNNotificationResponse*)response withCompletionHandler:(void(^)(void))completionHandler {
// Required
NSDictionary * userInfo = response.notification.request.content.userInfo;
// NSLog(@"推送内容:%@/",userInfo[@"aps"]);
NSLog(@"获取的推送内容:%@/",userInfo[@"aps"][@"alert"]);
NSLog(@"获取的链接:%@",userInfo[@"type"]);
NSURLRequest* request = [NSURLRequestrequestWithURL:[NSURLURLWithString:userInfo[@"type"]]];
UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height)];
[self.windowaddSubview:web];
[webloadRequest:request];
if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
[JPUSHService handleRemoteNotification:userInfo];
}
completionHandler(); // 系统要求执行这个方法
}
说明:其实点开通知会获得一个字典类型的文件,可以打印出来看一下具体是什么东西,然后你会发现推送的所有东西从这里都能获取,只需要对应 key value 就好了,上述代码里面我设置的是 type 所以在极光推送的网页版也要设置type 具体设置图下图:
今天集成暂时就遇到这么多坑,写出来希望能够帮助到大家,第一次写,还不太会用格式有点丑,总之能解决问题就行。(手动狗头)
网友评论