Android集成HMS推送(同时集成阿里云辅助通道)的问题

问题场景

按照HMS官方文档集成,单独的demo可以运行,再现有项目上把原来阿里云集成的hms单独集成出来,因为再国外的时候,阿里云获取token会失败,但是单独集成hms是可以再海外使用的,把阿里云的hms单独集成处理后,控制台能打印出token,但是再hms的后台推送通知和消息都接收不到,获取hms的SDK的日志显示通知已经推送到了手机,

可能原因

1.阿里云自带的hms没有剔除干净,导致自己重新集成的hms首先初始化,然后阿里云里集成的hms会再初始化一次,但是获取的token失效,通过和华为的官方技术人员沟通得知发送通知的token和本地的token不一致。
2.没有在Application里的onCreate函数里初始化(自动初始化和getToken不要同时使用)

解决办法

再重新集成hms之前,先剔除阿里云集成的hms,主要有build.gradle里的带hms关键词的依赖,application里面的带hms或者带huawei关键词的代码,AndroidMainfest文件里的带huawei和hms的mate配置、activity和receiver的相关配置,最重要的还有jar,不需要去一个个找,只需要再移除build.gradle依赖的情况下清缓存重启AS即可(File->lnvalidate Cache/Restart)会自动重新加载一遍依赖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章