国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

React Native 集成jpush-react-native的示例代碼

2019-11-19 15:46:22
字體:
來源:轉載
供稿:網友

jpush-React-native是極光推送官方維護的一個插件,github地址:https://github.com/jpush/jpush-react-native

一.手動配置

1.集成插件到項目中

npm install jpush-react-native --savernpm link jpush-react-native

Android

使用 android Studio import 你的 react Native 應用(選擇你的 React Native 應用所在目錄下的 android 文件夾即可)

修改 android 項目下的 settings.gradle 配置: settings.gradle

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

修改 app 下的 AndroidManifest 配置,將 jpush 相關的配置復制到這個文件中,參考 demo 的 AndroidManifest:(增加了 部分)

your react native project/android/app/AndroidManifest.xml

<application  android:name=".MainApplication"  android:allowBackup="true"  android:icon="@drawable/ic_launcher"  android:label="@string/app_name"  android:theme="@style/AppTheme">  <activity   android:name=".MainActivity"   android:configChanges="keyboard|keyboardHidden|orientation|screenSize"   android:label="@string/app_name">   <intent-filter>    <action android:name="android.intent.action.MAIN" />    <category android:name="android.intent.category.LAUNCHER" />   </intent-filter>  </activity>  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />  <!-- Required . Enable it you can get statistics data with channel -->  <meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/>  <meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/> </application>

修改 app 下的 build.gradle 配置: your react native project/android/app/build.gradle

修改 app 下的 build.gradle 配置:

your react native project/android/app/build.gradleandroid { defaultConfig {  applicationId "yourApplicationId"  ...  manifestPlaceholders = [    JPUSH_APPKEY: "yourAppKey", //在此替換你的APPKey    APP_CHANNEL: "developer-default" //應用渠道號  ] }}...dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile project(':jpush-react-native') compile "com.facebook.react:react-native:+" // From node_modules}

將此處的 yourApplicationId 替換為你的項目的包名;yourAppKey 替換成你在官網上申請的應用的 AppKey。

現在重新 sync 一下項目,應該能看到 jpush-react-native 作為一個 android Library 項目導進來了

重點來了,我在這個地方卡了一天,以上代碼配置完成后,但是不管怎么樣就是接收不到推送。

解決方案:找到項目/node_modules/jpush-react-native/android/src/main/AndroidManifest.xml,里面的 ${applicationId} 全部換成 你自己的項目包名

到此為止android的配置結束。

二.iOS配置

打開 ios 工程,在 rnpm link 之后,RCTJPushModule.xcodeproj 工程會自動添加到 Libraries 目錄里面

在 iOS 工程 target 的 Build Phases->Link Binary with Libraries 中加入如下庫:

CFNetwork.frameworkCoreFoundation.frameworkCoreTelephony.frameworkSystemConfiguration.frameworkCoreGraphics.frameworkFoundation.frameworkUIKit.frameworkSecurity.frameworklibz.tbd (Xcode7以下版本是libz.dylib)UserNotifications.framework (Xcode8及以上)libresolv.tbd (JPush 2.2.0及以上版本需要, Xcode7以下版本是libresolv.dylib)

根據域名配置info.plist:

把需要的支持的域添加

主站蜘蛛池模板: 福泉市| 平凉市| 巢湖市| 疏附县| 玛曲县| 虎林市| 涡阳县| 平山县| 资阳市| 禹州市| 紫阳县| 绥德县| 津市市| 夏邑县| 泰州市| 安溪县| 芷江| 巧家县| 沧州市| 安福县| 吉首市| 湟源县| 陆丰市| 安龙县| 台湾省| 永登县| 保康县| 平武县| 台山市| 墨玉县| 聂拉木县| 潢川县| 民和| 康乐县| 司法| 桂平市| 洱源县| 宁强县| 个旧市| 南丹县| 威信县|