美文网首页
react-native ios 集成极光推送走过的坑

react-native ios 集成极光推送走过的坑

作者: 一只特例独行de猪 | 来源:发表于2018-10-15 15:11 被阅读0次

    集成最新极光推送教程

    需要注意的地方

    • 需要在apple开发者中心申请推送证书,并导出p12然后导入都极光控制台。
    • Xcode需要打开推送开关
    • 测试推送只能再真机上测试,不能在模拟器测试推送功能

    遇到的问题

    ios推送deviceToken拿不到,不弹出获取推送权限的提示框

    确认极光上的应用设置,开发证书和生产证书都是通过验证的,app developer上应用的push也开绿灯了,xcode输出:

    Not get deviceToken yet. Maybe: your certificate not configured APNs
    

    其他问题排除以后,这个问题的原因是未向苹果apns服务器注册设备,
    所以可以在AppDelegate.m加入原生代码(这个参考了ios集成极光sdk指南操作的):

    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
    {
      NSLog(@"注册远程推送成功——————%@",deviceToken);
      [JPUSHService registerDeviceToken:deviceToken];
    }
    
    - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error{
      NSLog(@"注册远程推送fail%@",error);
    }
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
      JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
      entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound;
      if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
        // 可以添加自定义 categories
        // NSSet<UNNotificationCategory *> *categories for iOS10 or later
        // NSSet<UIUserNotificationCategory *> *categories for iOS8 and iOS9
      }
      [JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
    
      [JPUSHService setupWithOption:launchOptions appKey:@"你的极光appkey"
                            channel:nil apsForProduction:false];
    }
    

    另外其实jpush-react-native对ios注册apns服务器这块也做了接口,只是我没注意到,参考github文档api发现:

    JPushModule.initPush()
    

    初始化 JPush,这个方法初始化推送功能 iOS 会弹出获取推送权限的提示框(注意这个系统提示框只会触发一次,如果用户首次不同意,之后需要用户到设置中修改推送权限)。

    有些我们不懂的地方,我们也可以参考jpush-react-native的example:https://github.com/jpush/jpush-react-native/tree/master/example

    相关文章

      网友评论

          本文标题:react-native ios 集成极光推送走过的坑

          本文链接:https://www.haomeiwen.com/subject/idufzftx.html