|
/

我在升级友盟最新sdk时,报错一直过不了,问题出在各厂商的push怎么解决

Sshe***@puscene.com
发布于 1 个月前
21225来自浙江省
消息推送 U-Push
SDK集成与升级

是不是去掉各厂商的通道不影响推送?

implementation 'com.umeng.umsdk:common:9.9.2'

implementation 'com.umeng.umsdk:asms:1.8.7.2'

implementation 'com.umeng.umsdk:push:6.7.6'

//小米

implementation 'com.umeng.umsdk:xiaomi-umengaccs:2.3.0'

implementation 'com.umeng.umsdk:xiaomi-push:7.9.2'

//华为

implementation 'com.umeng.umsdk:huawei-umengaccs:2.3.0'

implementation 'com.huawei.hms:push:6.13.0.300'

//oppo

implementation 'com.umeng.umsdk:oppo-umengaccs:2.3.0'

implementation 'com.umeng.umsdk:oppo-push:3.7.1'

//vivo

implementation 'com.umeng.umsdk:vivo-umengaccs:2.3.0'

implementation 'com.umeng.umsdk:vivo-push:4.1.3.0'

这样写根本不行,问题主要出在 implementation 'com.umeng.umsdk:xiaomi-push:7.9.2'/ implementation 'com.umeng.umsdk:oppo-push:3.7.1'/ implementation 'com.umeng.umsdk:vivo-push:4.1.3.0' 这三个上,我不升级最新或者删掉后可以正常运行,不然就提示重复影响运行,能删除掉吗,还影响对应平台推送吗,我看 implementation 'com.umeng.umsdk:push:6.7.6'写的聚合了多平台

2个回答
 
1 个月前
来自浙江省

您好,可以进入个人中心-客服中心-工单后台点提交工单,收到后将有专属客服为您审核并回复您。

 
21 天前
来自北京市

这个问题我去年升级 SDK 的时候也踩过,当时编译报错一堆,看着满屏的 dependency conflict 头都大了。来分享一下我的排查经验:

先回答你的核心问题:去掉厂商通道会不会影响推送?

会影响,而且影响不小。去掉之后在线推送(App 在前台时)还能正常工作,但离线推送(App 被杀或后台时)在小米、华为、OPPO、vivo 这些手机上基本就收不到了,因为离线推送走的就是厂商的系统级通道。所以不建议直接去掉。

报错的原因大概率是版本号不匹配

友盟的 common、asms、push 和各厂商通道包之间有严格的版本对应关系,升级时只改其中几个版本,很容易出现 API 不兼容。我当时就是这么翻车的——只升了 push 版本没同步升 common,直接编译炸了。

建议的排查步骤:

1. 去友盟 SDK 专区(devs.umeng.com)下载最新版本的集成文档,里面会有一张版本对照表,确认 common/asms/push/各厂商通道包的推荐版本号是否完全对齐

2. 如果只想升级 push,那 common 和 asms 也要跟着升到对应版本,厂商通道包同理

3. 华为的 com.huawei.hms:push 是华为自己的 SDK,版本要和 huawei-umengaccs 匹配,这个在华为 HMS 文档里有兼容列表

4. 清一下 Gradle 缓存再编译:./gradlew clean + 删除 .gradle 目录,有时候是缓存的旧依赖在捣鬼

如果版本号都确认对齐了还是报错,把具体的报错日志贴出来,我可以帮你看看是哪个依赖在打架。之前我也在 https://ask.umeng.com/?utm_source=ext_comm_f_sk&search=U-Push%20%E5%8E%82%E5%95%86%E9%80%9A%E9%81%93%20%E9%85%8D%E7%BD%AE 搜过厂商通道配置的坑,挺多现成答案的,你也可以先看看有没有直接命中的。

个人踩坑经验,仅供参考哈~

Loading ...
登录社区,分享你的经验