RN安卓极光推送

 

申请极光帐号,创建应用,成功如下

 

 

 

 

sdk版本要求:

 

jpush-react-nativ要求jdk版本最少是25.0.0

 

 

第一步:

安装

打开终端,进入项目文件夹,执行以下命令:

 

npm install jpush-react-native --save

npm install jcore-react-native --save

 

安装之后,查看package.json,如下信息

 

第二部:

修改app/build.gradle

 

 

 

defaultConfig {
    applicationId "com.testoa"
    manifestPlaceholders = [
            JPUSH_APPKEY: "dac3d1www0c10f5b09", //在此替换你的APPKey
            APP_CHANNEL: "fbc6d7bcrrr212217252"    //应用渠道号
    ]
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}

 

 

 

dependencies {
    //增加如下代码
    compileproject(':jpush-react-native')
    compileproject(':jcore-react-native')
  
}

第三部:

修改文件 settings.gradle


include ':jpush-react-native'
project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android')
include ':jcore-react-native'
project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android')
 
 

第四部:文件路径

 MainApplication.java 文件,加入 JPushPackage

 

 


部分代码:

package com.testoa;

import android.app.Application;

import com.facebook.react.ReactApplication;
import cn.jpush.reactnativejpush.JPushPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {
  private boolean SHUTDOWN_TOAST = false;
  private boolean SHUTDOWN_LOG = false;
  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
              new RNDeviceInfo(),
             new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
      );
    }
  };

 

第五部:

修改 MainActivity.java

 

代码如下:注意导包

public classMainActivityextendsReactActivity{    
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        JPushInterface.init(this);
    }
 
    @Override
    protected void onPause() {
        super.onPause();
        JPushInterface.onPause(this);
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        JPushInterface.onResume(this);
    }
}

第六部:修改 AndroidMainifest.xml

 

增加代码:

<meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/>
<meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/>
 
 
安装配置完毕
 
可以通过极光管理页面发送通知,也可以通过Api接口发送通知
 
 
使用例如:
 
import JPushModule from 'jpush-react-native';
 

componentDidMount() {

                 

                  //获取registrationId,用于给用户增加设备别名和标签,接口APi里用到

                  JPushModule.getRegistrationID((registrationId)=> {

              console.log(registrationId);

            });

                  //通知监听

       JPushModule.addReceiveNotificationListener((map) => {

           console.log("alertContent: " + map.alertContent);

           console.log("extras: " + map.extras);

           var extra = JSON.parse(map.extras);

            console.log(extra.key + ": " + extra.value);

       });

                 

         }

         componentWillUnmount(){

       console.log("Will clear all notifications");

                 

       JPushModule.clearAllNotifications();

    }

 

 

 

Api接口下载地址:

https://docs.jiguang.cn/jpush/server/3rd/php_sdk/

 

device_example.php 设置标签

push_example.php 发送信息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值