在应用研发平台EMAS中,现在收不到厂商推送通知,来打工具HBuilderX,配置了App原生插件中的厂商通道,其中华为配置了appid,只有这一个参数,在阿里云的移动推送的厂商通道中配置了华为的参数有appid,appsecret。做完这些,在阿里云的控制台推送,手机端收不到是什么原因呢,还有哪里需要设置吗?
华为辅助通道集成
https://help.aliyun.com/document_detail/434678.html?spm=a2c4g.616229.0.i3
获取华为推送密钥
登录华为开发者联盟,注册您的应用,在应用信息中获取APP ID和SecretKey。
通道集成
警告
华为推送的2.X版本SDK将于2021年9月30日下线。为了避免推送受到影响,请尽快升级推送SDK及华为辅助通道SDK到3.2.4版本及以上。
如果使用辅助通道扩展包V3.2.0及以上版本,需要将推送SDK升级到V3.2.0及以上版本。
准备工作
请阅读Android SDK版本说明,下载对应版本SDK或获取最新SDK配置信息。
添加依赖
混淆配置
如果集成推送SDK的工程开启代码混淆,需要添加以下辅助通道的Proguard配置。
-keep class com.huawei. {*;}
-dontwarn com.huawei.
初始化
在AndroidManifest.xml中配置AppID,其中xxxxx为华为应用的AppID。
将以下代码加入Application的onCreate()方法中初始化通道。
重要
辅助通道注册务必在Application中执行且放在推送SDK初始化代码之后,否则可能导致辅助通道注册失败。
// 注册方法会自动判断是否支持华为系统推送,如不支持会跳过注册。
HuaWeiRegister.register(application);
本方法会自动判断是否支持华为系统推送,如不支持会跳过注册。
Android 8+配置
自Android 8.0(API Level 26)起,Android推出了NotificationChannel机制,旨在对通知进行分类管理。如果用户App的targetSdkVersion大于等于26,且并未设置NotificaitonChannel,那么创建的通知是不会弹出显示。
请参见Android 8.0以上设备接收不到推送通知进行适配。
初始化成功验证
华为通道初始化成功,可以看到以下日志:
问题一:
收不到厂商推送通知可能有以下几个原因:
你的设备是否开启了网络连接,因为厂商推送通知需要通过网络进行发送和接收。
你的应用是否有权限接收推送通知,这通常在设备的设置菜单中进行设置。
你的应用是否正确地处理了推送通知,这通常在你的应用的后台运行程序中进行处理。
你的推送服务配置是否正确,包括你的华为推送服务的APPID和APPSECRET是否正确,以及你的阿里云移动推送服务的厂商通道是否正确配置。
你的厂商推送通知是否被成功发送,这可以在你的阿里云移动推送服务的控制台中进行查看。
问题二:
收不到厂商推送通知可能是因为你的华为推送服务没有正确开通,或者你的阿里云移动推送服务的厂商通道没有正确配置。华为推送服务需要开通的服务包括但不限于精准推送能力、应用回执状态和接收上行消息等。这些服务都是用来增强你的推送体验的,如果你没有特殊的需求,一般来说只需要开通精准推送能力就可以了。
你的没集成厂商成功, 可以冷启动app。你发的不是离线推的, 正确的是 8259765272409984 收不到的原因是 没有填写POPactivityOPPO厂商参数配置: https://help.aliyun.com/document_detail/616048.html。此回答来自钉群应用研发平台EMAS开发者交流群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。