美文网首页react-native
React-native 之极光推送

React-native 之极光推送

作者: 秃头大叔 | 来源:发表于2019-03-28 18:35 被阅读0次

极光推送

jpush-react-native是极光推送官方开发的 React Native 版本插件,用于消息推送。

// 安装
$ npm install jpush-react-native --save
$ npm install jcore-react-native --save 

$ react-native link jpush-react-native
$ react-native link jcore-react-native

link后需要输入极光推送的appkey


image.png

link完成后会自动添加一些配置,有一些手动的配置仍然需要更改,参考 https://github.com/jpush/jpush-react-native, 可以详细查看一下文档,容易遗漏的是我下面的内容,不细看容易忽略,吃过的亏啊~

import cn.jpush.reactnativejpush.JPushPackage;   // <--   导入 JPushPackage!!!!!!!!!!!

public class MainApplication extends Application implements ReactApplication {

    // 设置为 true 将不会弹出 toast!!!!!!!!!!!!!
    private boolean SHUTDOWN_TOAST = false;
    // 设置为 true 将不会打印 log!!!!!!!!!!!!!!
    private boolean SHUTDOWN_LOG = false;

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {

        @Override
        public boolean getUseDeveloperSupport() {
            return BuildConfig.DEBUG;
        }

        @Override
        protected String getJSMainModuleName() {         // rn 0.49 后修改入口为 index
            return "index";
        }

        @Override
        protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
                    new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)   //  <-- 添加 JPushPackage!!!!!!!!
             );
        }
    };

  @Override
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
  }
}

另外在推送时模拟器报错,提示appkey和包名不一致,主要原因是在创建极光应用时包名和本地项目名称不一致,统一一下即可~,可以参考导入极光包时的手动配置第一项:如下

android {
    defaultConfig {
        applicationId "yourApplicationId"    //在此修改包名,
        ...
        manifestPlaceholders = [
                JPUSH_APPKEY: "yourAppKey", //在此替换你的APPKey(第一次link时会自动生成)
                APP_CHANNEL: "developer-default"    //应用渠道号
        ]
    }
}
...
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation project(':jpush-react-native')  // 添加 jpush 依赖
    implementation project(':jcore-react-native')  // 添加 jcore 依赖
    implementation "com.facebook.react:react-native:+"  // From node_modules
}

注意如果报错:appkey无效还是什么玩意的,是因为一旦极光创建的包名修改,appkey会失效,需要删除应用重新创建一个

相关文章

  • 极光推送

    极光推送视频地址,非常详细的极光推送视频 极光推送

  • react-native集成极光推送

    安装 配置 1.自动配置 根据提示,输入 appKey 等即可。 自动配置完成后,需检查是否配置正确,具体请看手动...

  • React-native 之极光推送

    极光推送 jpush-react-native是极光推送官方开发的 React Native 版本插件,用于消息推...

  • 极光推送

    极光推送 tagprivate void initJpush() {//TODO 极光推送// JPushInte...

  • 极光推送进行远程推送

    借阅:极光推送进行远程推送 怎么使用极光推送进行远程推送 在极光官网注册极光推送创建一个应用在应用配置中导入两个证...

  • react-native集成极光推送(Android)

    极光官方针对react native提供了jpush-react-native库。 github:https://...

  • (Android)react-native集成极光推送

    在Android中使用reactnative集成极光推送步骤如下:(1)在AndroidManifest中声明网络...

  • ios极光推送

    第一次使用极光推送,在这里把极光推送的步骤说一下,省的以后再次用到极光推送的时候,给忘了,其实,极光推送不难...

  • 【知识总结】(2)远程推送

    推送SDK:极光推送 后台点击推送: iOS 10 以下收到推送点击触发 iOS 10 以上触发: 极光推送中使用...

  • 2018年功能模块沉淀

    一、推送模块 1.极光推送 文档:https://www.jiguang.cn/push备注:极光推送包括普通推送...

网友评论

    本文标题:React-native 之极光推送

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