ReactNative 桥接极光推送JPush(iOS、Android)

我用的是极光2.2.0版本。关于安卓和ios的推送原理,这里不再赘述。以下是我在项目中的用法,定制化的东西会慢慢补上。

iOS

1.导入SDK 极光iOS SDK 官方文档

  • 解压下载的SDK,把jpush-ios-2.2.0.a和JPUSHService.h导入到目录下,并创建Jpush.h/.m文件


    文件目录.png
  • 参照文档导入依赖
  • Xcode8配置内容


    文档上扒下来的.png
  • 配置info.plist


    文档截图.png

2.配置appDelegate

  • 导入头文件,此处跟文档上不同,因为要写桥接,所以不需要在appDelegate中设置<JPUSHRegisterDelegate>

import "JPUSHService.h"
import <UserNotifications/UserNotifications.h>
import "Jpush.h"

  • 在didFinishLaunchingWithOptions添加初始化代码

[JPUSHService setupWithOption:launchOptions appKey:appKey channel:channel apsForProduction:isProduction advertisingIdentifier:advertisingId];

  • 上报DeviceToken
  • (void)application:(UIApplication *)application
    didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    [JPUSHService registerDeviceToken:deviceToken];
    }
  • 注册失败(选填)


    注册失败.png

3.桥接文件Jpush

  • .h文件,因为需要在收到通知后在js端做处理,所以要继承RCTEventEmitter,可以给js发送事件/添加监听。


    h.png

Android

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容