安装与配置极光推送
flutter中安装极光官方插件:jpush_flutter
https://pub.dev/packages/jpush_flutter 按照官方提示在 /android/app/build.gradle 中配置下列代码:
android: { .... defaultConfig { applicationId "替换成自己应用 ID" ... manifestPlaceholders = [ JPUSH_PKGNAME : applicationId, JPUSH_APPKEY : "appkey", // NOTE: JPush 上注册的包名对应的 Appkey. JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可. ] }在极光中创建应用
创建完成后补全第一步中的 manifestPlaceholders。
根据提示补全包名:即你项目中的applicationId
运行项目:报错
按照报错提示补全
manifestPlaceholders = [ applicationName: "android.app.Application", JPUSH_PKGNAME : applicationId, JPUSH_APPKEY : "590951ceb353e55c81f317f6", // NOTE: JPush 上注册的包名对应的 Appkey. JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可. ]拿到官方example代码https://github.com/jpush/jpush-flutter-plugin/blob/dev-3.x/example/lib/main.dart 补全appKey并运行。
如果出现打印 flutter get registration id:你的软件注册id表示注册成功。
到官网进行推送测试
收到通知。:grinning:
但是这种通知当应用程序进行killed后就收不到了,所以我们还需要集成各大手机厂商通道。
集成huawei厂商通道
到华为开发者联盟中新建一个项目
https://developer.huawei.com/consumer/cn/console/service/AppService
开通推送服务
添加个应用
下载配置文件放到项目级目录下
按照其配置步骤来
添加极光华为sdk依赖
dependencies { implementation "cn.jiguang.sdk:jpush:5.2.3" implementation "com.huawei.agconnect:agconnect-core:1.8.1.300" implementation "com.huawei.hms:push:6.12.0.300" implementation "cn.jiguang.sdk.plugin:huawei:5.2.3" }生成并配置证书指纹https://developer.huawei.com/consumer/cn/codelab/HMSPreparation/index.html#2
//指令 keytool -genkey -v -keystore lvmaoya.jks -keyalg RSA -keysize 2048 -validity 10000 -alias lvmaoya
keytool -list -v -keystore lvmaoya.jks报错:
解决:配置androidmanifest.xml
// maifest 标签新增属性 xmlns:tools="http://schemas.android.com/tools" // application标签新增属性 tools:replace="android:label"
配置完成之后到极光里配置厂商通道
配置完成之后到华为项目里配置推送服务和回执
代码实例
https://github.com/lvmaoya/lvmaoya-flutter
