react-native 中配置极光推送 Android关键详细的说明与截图代码 找不到类Bundle/JPushInterface
2018-02-03 20:06
1676 查看
react-native 中配置极光推送 Android关键详细的说明与截图代码
找不到类Bundle/JPushInterface
小白一枚 自己学习的总结 如有不对的地方请多包容
我的版本:
"react": "16.2.0",
"react-native": "0.52.2"
安装:
npm install --save jpush-react-native
npm install --save jpush-react-native
## jpush-react-native 1.4.2 版本以后需要同时安装 jcore-react-native
自动配置:
执行npm run configureJPush <yourAppKey>
//执行自动配置脚本后再执行 link 操作 react-native link
检查一下依赖关系中有没有添加jpush-react-native及jcore-react-native这两个依赖。
react-native Project/Android/app/ build.gradle
检查android项目下的settings.gradle配置有没有包含以下内容:
settings.gradle
检查一下app的AndroidManifest配置,有没有增加<meta-data>部分。
你的原始项目是/ android / app / AndroidManifest.xml
在Android Studio重新sync一下项目,应该能看到jpush-react-native以及jcore-react-native作为android库项目导进来了。
接下来:
添加JPushPackage
RN 0.29.0以上版本
打开应用程序的MainApplication.java文件,然后加入JPushPackage,
app/ MainApplication.java
如果运行时在MainActivity.java文件进行配置的话会有下面的错误 这里不用配置MainActivity.java文件
一直执行下去,运行app时你会发现有如下错误 (部分)
记住在RN0.29以上版本不需要对MainActivity.java 文件不需要配置 不需要配置 不需要配置
接下来就可以引用了 在android环境下)
import
React,
{ Component }
from
'react'
import
{
Platform,
Text,
View
}
from
'react-native'
import
JPushModule
from
'jpush-react-native'
export default class
App
extends
Component {
componentDidMount()
{
if
(Platform.OS
===
'android') {
JPushModule.initPush()
}
render()
{
return
(
<View>
<Text>基本推送配置完成</Text>
</View>
)
}
}
}
你会发现在极客官网上推送不了信息 (不允许选择目标平台)
接着配置如下:
在应用信息中点击去完成推送设置
在这里进行设置 需要填写
!!包名!! 记住
填写完成后点击下载 Demo 下载完成后解压
打开Android Studio 点击fill->New->import Module 将引用后的文件引入
在这里会提示下载一个JPush SDK点击下载 然后在进行配置(不详细说自己瞎点就ok了)
配置完以后再右侧会多出一个文件夹 选择如下 运行run
你会看到这样一个界面 说明你成功了
然后在运行 app 做到这一步 就可以成功的接收推送信息了
在极客推送中点击 选择android平台
点击推送后
在手机上就可以看到推送的信息了..
剩下的你就可以去看看专门针对react-native的配置文档了API 进行配置了
https://github.com/jpush/jpush-react-native
找不到类Bundle/JPushInterface
小白一枚 自己学习的总结 如有不对的地方请多包容
我的版本:
"react": "16.2.0",
"react-native": "0.52.2"
安装:
npm install --save jpush-react-native
npm install --save jpush-react-native
## jpush-react-native 1.4.2 版本以后需要同时安装 jcore-react-native
自动配置:
执行npm run configureJPush <yourAppKey>
//执行自动配置脚本后再执行 link 操作 react-native link
检查一下依赖关系中有没有添加jpush-react-native及jcore-react-native这两个依赖。
react-native Project/Android/app/ build.gradle
android { defaultConfig { applicationId "yourApplicationId"//你的包名 ... manifestPlaceholders = [ JPUSH_APPKEY: "yourAppKey", //在此替换你的APPKey APP_CHANNEL: "developer-default" //应用渠道号 ] } } ... dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile project(':jpush-react-native') // 添加 jpush 依赖 compile project(':jcore-react-native') // 添加 jcore 依赖 compile "com.facebook.react:react-native:+" // From node_modules } |
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') |
你的原始项目是/ android / app / AndroidManifest.xml
<application ... <!-- 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> |
接下来:
添加JPushPackage
RN 0.29.0以上版本
打开应用程序的MainApplication.java文件,然后加入JPushPackage,
app/ MainApplication.java
import cn.jpush.reactnativejpush.JPushPackage; // <-- 导入 JPushPackage public class MainApplication extends Application implements ReactApplication { // 设置为 true 将不会弹出 toast private boolean SHUTDOWN_TOAST = false; // 设置为 true 将不会打印 log private boolean SHUTDOWN_LOG = false; private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } @Override protected String getJSMainModuleName() { // rn 0.49 后修改入口为 index return "index"; } @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG) // <-- 添加 JPushPackage ); } }; @Override public ReactNativeHost getReactNativeHost() { return mReactNativeHost; } @Override public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); } } |
一直执行下去,运行app时你会发现有如下错误 (部分)
记住在RN0.29以上版本不需要对MainActivity.java 文件不需要配置 不需要配置 不需要配置
接下来就可以引用了 在android环境下)
import
React,
{ Component }
from
'react'
import
{
Platform,
Text,
View
}
from
'react-native'
import
JPushModule
from
'jpush-react-native'
export default class
App
extends
Component {
componentDidMount()
{
if
(Platform.OS
===
'android') {
JPushModule.initPush()
}
render()
{
return
(
<View>
<Text>基本推送配置完成</Text>
</View>
)
}
}
}
你会发现在极客官网上推送不了信息 (不允许选择目标平台)
接着配置如下:
在应用信息中点击去完成推送设置
在这里进行设置 需要填写
!!包名!! 记住
填写完成后点击下载 Demo 下载完成后解压
打开Android Studio 点击fill->New->import Module 将引用后的文件引入
在这里会提示下载一个JPush SDK点击下载 然后在进行配置(不详细说自己瞎点就ok了)
配置完以后再右侧会多出一个文件夹 选择如下 运行run
你会看到这样一个界面 说明你成功了
然后在运行 app 做到这一步 就可以成功的接收推送信息了
在极客推送中点击 选择android平台
点击推送后
在手机上就可以看到推送的信息了..
剩下的你就可以去看看专门针对react-native的配置文档了API 进行配置了
https://github.com/jpush/jpush-react-native
相关文章推荐
- 极光推送Jpush-react-native在ios中的详细配置 本人亲测
- react-native Android极光推送配置
- React-Native极光推送android和ios证书申请
- 原生Android项目中集成react-native以及jpush-react-native(极光推送)
- android最详细Windows版本搭建安装React Native环境配置
- react native 整合极光推送(Android)
- React-Native极光推送全程教程android和ios
- react native极光推送全程教程android和ios
- React Native Android配置部署踩坑日记
- React Native for Android 实战(一):配置和起步
- react-native试玩(34)-配置Android开发环境
- Android React Native环境配置以及第一个实例
- 【React Native开发】React Native For Android环境配置以及第一个实例
- React-Native 之Android应用开发踩坑纪 (一)————windows环境下配置
- Fresco(Facebook开源的android项目)图片缓存框架的eclipse整合与使用探索(较详细配置说明)
- 【React Native开发】React Native For Android环境配置以及第一个实例(1)
- React Native for Android on Windows 配置开发安装总结
- 关于Android端配置极光推送
- React-Native 开发 android & ios App,共享一份代码