您的位置:首页 > Web前端 > React

react-native 极光推送android篇

2017-09-29 09:38 218 查看
jpush-react-native和
jcore-react-native之后,执行react-native link会还有一部分需要自己配置,而且执行react-native link可能会报错,所以个人建议还是手动配置比较好,[/code]
1、检查android/settings.gradle下是否引入
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')
2、检查android/app/build.gradle
在defaultConfig添加
manifestPlaceholders = [
JPUSH_APPKEY: "ca6dd83870c401f5dd9734af",//这里为极光推送得key
APP_CHANNEL: "developer-default"
]
defaultConfig {applicationId "com.mymapsone"minSdkVersion 16targetSdkVersion 22versionCode 1versionName "1.0"vectorDrawables.useSupportLibrary = truemanifestPlaceholders = [JPUSH_APPKEY: "ca6dd83870c401f5dd9734af",APP_CHANNEL: "developer-default"]ndk {abiFilters "armeabi-v7a", "x86"}}
在dependencies里添加
compile project(':jpush-react-native')compile project(':jcore-react-native')
3、在清单文件里面得application标签里面添加
<!--极光推送--><meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/><meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/>
4、在MainApplication.java里面添加如下,
import cn.jpush.reactnativejpush.JPushPackage;
导入JpushPackage
在getPackages得方法里面添加
new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG),
SHUTDOWN_TOAST,SHUTDOWN_LOG都是Boolean值,在外部类定义
完整例子代如下
  private boolean SHUTDOWN_TOAST = false;//定义两个值private boolean SHUTDOWN_LOG = false;private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {@Overridepublic boolean getUseDeveloperSupport() {return BuildConfig.DEBUG;}@Overrideprotected List<ReactPackage> getPackages() {return Arrays.<ReactPackage>asList(new MainReactPackage(),new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG),new RCTCameraPackage(),new PickerPackage());}};
5、在MainActivity.java里
导入
import cn.jpush.android.api.JPushInterface;
重写这几个方法
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);JPushInterface.init(this);}@Overrideprotected void onPause() {super.onPause();JPushInterface.onPause(this);}@Overrideprotected void onResume() {super.onResume();JPushInterface.onResume(this);}@Overrideprotected void onDestroy() {super.onDestroy();}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: