React Native PushDemo 中 iOS 关闭前台推送失败

iAladdin
2018-08-05 07:18 852 0

极光的各位朋友,

我尝试在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 以上的系统试图关闭前台推送的功能,无法关闭:

  1. 尝试删除- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler 方法来关闭前台推送,失败。
  2. 尝试修改前台推送消息为badge或者sound,(completionHandler(UNNotificationPresentationOptionSound|UNNotificationPresentationOptionBadge); )同样失败。
  3. 尝试通过在RN中监听AppState,进入前台主动stopPush,进入后台再resumePush。部分场景下失败,部分场景下成功。但这种方案在初次注册设备的时候存在一些问题,如果在前台App崩溃了,push也无法再启动,所以这个方案基本不可用。

开发证书环境与正式证书环境的疑问

你们的API中

[JPUSHService setupWithOption:launchOptions appKey:@"APPKEY" channel:nil apsForProduction:nil];

这个API中的最后一个参数实际的效果是什么呢?我尝试传入一个false/nil当我在发布adhoc版本的时候,推送依然是正确可用的,我查看后台中,显示此时使用的是iOS_product证书。这与实际打包的证书是一致的,但这个参数显然是传入的错误的值。这里传错会有什么实际影响吗?它实际的作用是什么呢?

希望能得到各位的帮助,谢谢!

1个回答

热门排序
  • 第二个问题: 初始化时,apsForProduction:isProduction 必须和你打包选择的证书一一对应进行配置,虽然不是决定 App 环境的的因素,但若不一一对应,后期可能会出问题,所以请一一对应。 App 的环境由打包证书决定 展示全部