React Native 集成友盟推送(android)

react native 友盟推送集成其实很简单

首先使用的react native版本为0.51.0 (项目的版本是这个所以。。。)这里记录一下个人的集成过程

官方文档链接:https://developer.umeng.com/docs/66632/detail/98585

1、到友盟官方平台注册账号创建app得到推送需要的 Appkey Umeng Message Secret(而不是 App Master Secret)

2、友盟官方SDK中心 下载咱们需要的sdk,这里下载的是android的推送SDK。因为友盟官方没有提供react-native直接相关sdk,当然我们也要下载React Native的SDK这个里面包含RN的桥接文件。

3、解压下载的压缩包拿到push的sdk

4、将解压的java文件放到项目的libs文件夹中(没有就新建一个)

4、打开android studio 在项目根目录一module形式将这个push文件夹引用到项目中

5、在Application Module的build.gradle文件的dependencies下添加compile project(':push')

注意:

  • PushSDK 4.0默认只提供armeabi和x86两种so文件夹,若主工程中的so文件夹与PushSDK下的so文件夹不一致,则可以有两种方式处理(选择一种即可):(1) 删除主工程下多余的so文件夹,与PushSDK下的so文件夹保持一致。(2) 下载全平台so文件,添加缺少的so文件夹至PushSDK模块的libs目录下,使PushSDK的so文件夹与主工程的so文件夹保持一致。全平台SO文件下载

这是官网的提醒很重要,当时在这里摔的不轻,什么意思我当时没太看懂所以就跳过去了。。。后面我会详细的说我菜的坑

6、现在开始初始化,使用友盟push必须在工程的自定义Application类的 onCreate() 方法中调用基础组件包提供的初始化函数。

UMConfigure.init(Context context, String appkey, String channel, int deviceType, String pushSecret);

官方还有第二种方法这里我就说一下我是怎么做的

7、注册推送服务,务必在工程的自定义Application类的 onCreate() 方法中注册推送服务,无论推送是否开启都需要调用此方法:

PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
mPushAgent.register(new IUmengRegisterCallback() {

    @Override
    public void onSuccess(String deviceToken) {
        //注册成功会返回deviceToken
    }

    @Override
    public void onFailure(String s, String s1) {

    }
});

中间那一句是开始友盟的log日志建议先打开集成完成没有问题后删掉。

8、启动统计:在所有的Activity 的onCreate 方法或在应用的BaseActivityonCreate方法中添加:

 PushAgent.getInstance(context).onAppStart();

这里没有混淆详细官方文档有介绍。到这里就可以打包测试了。

踩坑

接下来说一下我菜的坑,所有的配置都完成了但是会报deviceToken为空  拿不到token,然后我我按照官方的给的解决错误的方法去查看我的Appkey和secret 没有问题然后是检查so文件是不是一样我解压之后项目的lib里面有好多,和我的不一样,但是我下载了全平台的依旧是有两个,还是会报这个错,然后我就查了搜怎么引入到项目中,最后在build.gradle文件里面的android下面的ndk里面加了这个就好了(如图)

下面的有可能在项目中没有,但是上面ndk引入了这个就好了到此才知道上面没理解的话。

自己集成过程记录一下。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native提供了一个称为Native Modules的机制,允许您在React Native应用程序中使用原生代码。因此,您可以使用Java或Kotlin编写原生Android代码,并将其与React Native应用程序集成。以下是一些步骤: 1.创建一个新的Android库项目。 2.在您的React Native项目中创建一个新的Native Module。 3.将您的原生代码添加到Android库项目中。 4.编写Java或Kotlin代码来公开原生方法。 5.在React Native Native Module中使用这些方法。 6.构建并运行您的React Native应用程序。 这里是一个简单的例子,说明如何在React Native应用程序中使用原生Android模块: 1.创建一个新的Android库项目 在Android Studio中,选择“File” > “New” > “New Module”。然后选择“Android Library”并按照向导中的说明创建一个新的Android库项目。 2.在您的React Native项目中创建一个新的Native Module 在React Native项目的根目录下,运行以下命令: ``` react-native create-library MyNativeModule ``` 此命令将创建一个名为MyNativeModule的新目录。在此目录中,您可以添加一个名为MyNativeModule.java的文件。 3.将您的原生代码添加到Android库项目中 将您的原生代码复制到Android库项目中的src/main/java目录中。 4.编写Java或Kotlin代码来公开原生方法 在您的Java或Kotlin类中,使用@ReactMethod注释来标记要公开给React Native的原生方法。例如: ``` @ReactMethod public void showToast(String message) { Toast.makeText(getReactApplicationContext(), message, Toast.LENGTH_SHORT).show(); } ``` 5.在React Native Native Module中使用这些方法 在您的React Native应用程序中,导入MyNativeModule并调用其方法。例如: ``` import { NativeModules } from 'react-native'; const { MyNativeModule } = NativeModules; MyNativeModule.showToast('Hello, world!'); ``` 6.构建并运行您的React Native应用程序 在React Native应用程序的根目录中,运行以下命令以构建并运行您的应用程序: ``` react-native run-android ``` 这样,您就可以在React Native应用程序中使用原生Android模块了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值