最近項目中須要用到通知,綜合比較決定使用極光推送,看了看網上的教程好像都沒有一個整合好的例子,或者是步驟有些問題,本身也折騰了很長時間,在此把極光推送配置的步驟整理一下,提供給各位有須要的朋友node
一.安裝
個人react native使用的是最新版本0.43.3,對應的極光推送須要同時安裝jpush和jcore,react
npm install jcore-react-native --save npm install jpush-react-native --save react-native link
二.配置android
一、在android/app/build.gradle裏android>>defaultConfig中加入:git
manifestPlaceholders = [ JPUSH_APPKEY: "yourAppKey", //在極光推送後臺申請的APPKey APP_CHANNEL: "developer-default" ]
在dependencies中加入:(link後自動加入,需檢查)github
compile project(':jpush-react-native') // 添加 jpush 依賴 compile project(':jcore-react-native')
二、在項目的settings.gradle中加入(link後自動加入,需檢查):npm
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')
三、在android/app/manifests/AndroidManifests.xml的<application>加入:react-native
<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" />
四、在MainActivity中加入以下代碼:app
@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(); }
五、在MainApplication類里加入以下代碼:ide
private boolean SHUTDOWN_TOAST = false; private boolean SHUTDOWN_LOG = false;
在getPackages()方法中加入:gradle
new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
至此,native端須要配置的工做已經所有完成,此時就能夠用js進行調用。
demo的代碼已上傳到GitHub,下下來直接npm install就行,以上就是react native 極光推送的安裝配置過程。