> 文章列表 > flutter集成极光推送google play版本

flutter集成极光推送google play版本

flutter集成极光推送google play版本

首先是正常极光推送的使用
1.在pubspec.yaml中引入库:jpush_flutter: ^2.4.2
2.创建极光推送工具类

class JPushUtil{static initJPush(){JPush().addEventHandler(onReceiveNotification: (Map message) async{//推送通知栏新消息print('new message:$message');},onOpenNotification: (Map message) async{//点击通知print('onOpenNotification:$message');setBadge(0);},onNotifyMessageUnShow: (Map message) async{//不显示消息时回调setBadge(0);},);JPush().applyPushAuthority(NotificationSettingsIOS(sound: true,alert: true,badge: true));JPush().setup(appKey: 'jpush appkey',channel: 'developer-default',production: false,debug: true);}//设置tagsstatic setTags(List<String> tags){JPush().setTags(tags);}//设置别名static setAlias(String alias){JPush().setAlias(alias);}//删除别名static deleteAlias(){JPush().deleteAlias();}//清空tagsstatic cleanTags(){JPush().cleanTags();}//设置角标static setBadge(int badge){JPush().setBadge(badge);}
}

3.使用:在需要初始化推送的页面调用JPushUtil.initJPush();
接下来是google play版极光推送
1.google上架普通版jpush会被拒,收到的邮件提示被拒的原因出在jpush sdk上,而我们在极光管方文档并不能找到相关的解决办法
flutter集成极光推送google play版本

2.找到极光sdk下载位置,当中有 Google Play 版本下载选项
flutter集成极光推送google play版本
3.下载Google Play 版本sdk前查看jpush_flutter: ^2.4.2库中sdk的版本,下载的sdk版本需要与flutter中引入的库中的sdk版本一致,因为极光sdk中的jpush、jcore有版本对应关系,经过测试不对应的版本无法接收到推送。(flutter库中的sdk版本可以在本地缓存文件中查看,圈中的是改动前,jpush_flutter: ^2.4.2库中的sdk版本)
flutter集成极光推送google play版本
4.将下载的sdk解压,复制libs中的jar包
flutter集成极光推送google play版本
将jar包放入 flutter plugin包 jpush_flutter-2.4.2的 android》libs文件夹下(没有libs文件夹就新建一个)

flutter集成极光推送google play版本
在jpush_flutter-2.4.2的 android 》build.gradle文件中修改配置

dependencies {implementation 'cn.jiguang.sdk:jpush:4.9.0'//    implementation 'cn.jiguang.sdk:jcore:4.1.0'compile files('libs/jcore-android-4.1.0-google_play.jar')
}

flutter集成极光推送google play版本
由于将jpush和jcore包都改为Google版本国内IP无法接收到推送(测试中接收不到推送)所以只更改了jcore包的配置,如果只使用google play版可以两个包一起改。
flutter集成极光推送google play版本
修改后测试能够接收到推送
5.打包送审,Google play通过。