接入通知前需要了解一件事情:
安卓的应用在接受推送消息的时候,需要APP至少在后台没有被杀掉,如果杀掉,就收不到了,这个时候安卓往往的做法是有一个守护进程、守护APP,不要惊讶,你没有看错。
所以遵循这个原理,如果你做的是国内APP,那选腾讯的推送就是不二之选,因为基本没有人手机上不装QQ或微信,如果真的不装我也不信会不装其他腾讯的东西,王者荣耀等等等等都算是守护通知的,明白了吧
好的,下面进入正题:
1.IOS需要配置推送通知的证书,分为:开发环境和生产环境(自行决定是否使用一套证书)
证书的生成或使用参考腾讯官方接入视频:
2.证书生成完在信鸽应用配置里配置上,当显示正常时即可继续使用
3.本文中使用的flutter插件:fake_push 0.5.3
github:https://github.com/v7lin/fake_push
pub镜像地址:https://pub.flutter-io.cn/packages/fake_push#-readme-tab-
4.IOS - info.plist 添加字段 XG_ACCESS_ID、XG_ACCESS_KEY
5. 安卓端:
①要注意自己的android/app/build.gradle中的minSdkVersion是否是21及以上
②要注意android/app/src/main/AndroidMainfest.xml中是否支持:
xmlns:tools="http://schemas.android.com/tools"
③android/app/src/main/AndroidMainfest.xml中的application属性确保添加了:
tools:replace="android:label"
6.在信鸽后台设置测试设备token & 打开信鸽的开发调试:
7.复制下面的URL就可以进行调试了,正常通知会需要以下几个信息:
①标题:title
②内容:body
③隐藏信息:custom_content
特别注意:
发送的格式一定要按照上述所说,不然会出现闪退,在github上,fake_push也有人提出,但其实按照对应的格式就一定不会出现闪退等问题
IOS设备每次卸载又重装APP,Token会变
遇到问题先看看作者的github上有没有答案,别忘了看已关闭的问题部分
2020-01-10 安卓通知调通,下面是具体步骤和注意事项:
1.小米、华为手机需要在小米或华为应用APP管理中获取对应的APPID、APPKEY2
2.然后在Android/app/build.gradle -> defaultConfig 配置mainfestPlaceholders:
3. 在小米、华为等应用APP管理中心开通各个厂商的消息通知Push服务:
华为:https://developer.huawei.com/
4. 在信鸽后台配置厂商通道:
①需要是Android类型的信鸽应用
②点击应用配置
③点击厂商&海外通道
④小米推送通道,填写小米的:AppID、AppKey、AppSecret
⑤华为的推送通道,填写华为的:AppID、AppSecret
5.调试发送:
在补充一下对应的通知说明都是干嘛的:
//获取设备token,每次卸载重新安装APP都会是新的Token StreamSubscription<String> _receiveDeviceToken;
//自定义消息通知
StreamSubscription<Message> _receiveMessage;
//系统为IOS时APP打开状态的消息通知 ,Android时,所有消息都会触发这
StreamSubscription<Message> _receiveNotification;
//程序未启动时,收到远程推送,保存下来,在应用进入前台后可以处理。
StreamSubscription<String> _launchNotification;
//app在后台,手机收到提示的时候 StreamSubscription<String> _resumeNotification;
好了,至此IOS和安卓的消息通知接入都完成了
如有问题,欢迎在下方留言