React Native PushDemo 中 iOS 关闭前台推送失败
极光的各位朋友,
我尝试在RN项目中使用贵司提供的push服务,按照文档集成后遇到一些问题,麻烦帮忙解答一下,谢谢各位!
使用的SDK版本:
"jcore-react-native": "1.2.8",
"jpush-react-native": "2.2.7",
"react": "16.3.1",
"react-native": "0.55.2",
针对iOS10 以上的系统试图关闭前台推送的功能,无法关闭:
- 尝试删除- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler 方法来关闭前台推送,失败。
- 尝试修改前台推送消息为badge或者sound,(completionHandler(UNNotificationPresentationOptionSound|UNNotificationPresentationOptionBadge); )同样失败。
- 尝试通过在RN中监听AppState,进入前台主动stopPush,进入后台再resumePush。部分场景下失败,部分场景下成功。但这种方案在初次注册设备的时候存在一些问题,如果在前台App崩溃了,push也无法再启动,所以这个方案基本不可用。
开发证书环境与正式证书环境的疑问
你们的API中
[JPUSHService setupWithOption:launchOptions appKey:@"APPKEY" channel:nil apsForProduction:nil];
这个API中的最后一个参数实际的效果是什么呢?我尝试传入一个false/nil当我在发布adhoc版本的时候,推送依然是正确可用的,我查看后台中,显示此时使用的是iOS_product证书。这与实际打包的证书是一致的,但这个参数显然是传入的错误的值。这里传错会有什么实际影响吗?它实际的作用是什么呢?
希望能得到各位的帮助,谢谢!