天天看點

react native 整合極光推送(Android)

react native 整合極光推送(Android)

最近項目中需要用到通知,綜合比較決定使用極光推送,看了看網上的教程好像都沒有一個整合好的例子,或者是步驟有些問題,自己也折騰了很長時間,在此把極光推送配置的步驟整理一下,提供給各位有需要的朋友

一.安裝

我的react native使用的是最新版本0.43.3,對應的極光推送需要同時安裝jpush和jcore,

npm install jcore-react-native --save
npm install jpush-react-native --save
react-native link                

二.配置

1、在android/app/build.gradle裡android>>defaultConfig中加入:

manifestPlaceholders = [
      JPUSH_APPKEY: "yourAppKey", //在極光推送背景申請的APPKey
      APP_CHANNEL: "developer-default"   
      ]
           

在dependencies中加入:(link後自動加入,需檢查)

compile project(':jpush-react-native')  // 添加 jpush 依賴
  compile project(':jcore-react-native')
           

2、在項目的settings.gradle中加入(link後自動加入,需檢查):

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

3、在android/app/manifests/AndroidManifests.xml的<application>加入:

<meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/>
  <meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/>
           
并在上方加入極光推送權限:
           
<permission
    android:name="${applicationId}.permission.JPUSH_MESSAGE"
    android:protectionLevel="signature" />
           

4、在MainActivity中加入如下代碼:

@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);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
           

5、在MainApplication類裡加入如下代碼:

private boolean SHUTDOWN_TOAST = false;
private boolean SHUTDOWN_LOG = false;
           

在getPackages()方法中加入:

new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
           

至此,native端需要配置的工作已經全部完成,此時就可以用js進行調用。

demo的代碼已上傳到GitHub,下下來直接npm install就行,以上就是react native 極光推送的安裝配置過程。

繼續閱讀