使用阿里云产品的SDK出现UTDID冲突的问题

问题描述

使用阿里云产品的SDK出现UTDID冲突的问题。

解决方案

说明

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

什么是UTDID冲突:UTDID作为阿里云移动端SDK通用组件,包括阿里云在内的许多平台产品移动端SDK对其有依赖,若同时集成多平台移动端SDK,可能发生UTDID冲突。UTDID命名形式:

  • Android:utdid4all-x.x.x.jar

  • iOS:UTDID.framework

如何解决UTDID冲突有以下几种方法:

说明

说明:Android UTDID版本号必须大于等于V1.1.5.3,若不能确认UTDID版本号,请参考下述方案,保留阿里云平台的UTDID包。

手动集成解决方案

手动删除重复的UTDID SDK,仅保留一个UTDID SDK。

说明

说明:建议保留阿里云平台下载的UTDID SDK。

远程仓库集成解决方案

  • Android集成时,可以通过exclude关闭其他产品SDK对UTDID的传递性依赖,示例如下所示:

compile ('com.xxx:xxx.xxx:1.0.1') {
  exclude (module:'alicloud-android-utdid')
}
说明

说明:其module名不一定为alicloud-android-utdid,具体如何关闭UTDID的传递性依赖,可咨询对应的阿里云技术支持。

  • iOS集成时,如果通过CocoaPods进行远程仓库依赖,由于CocoaPods无法关闭传递性依赖,SDK集成需要修改为手动集成。

与支付宝SDK UTDID冲突解决方案

支付宝SDK通过源码方式集成的UTDID,不适用于上述的手动集成解决方案和远程仓库集成解决方案。

可下载并集成剥离UTDID的支付宝SDK,保留阿里云平台的UTDID包。该版本SDK和通用支付宝SDK保持同步更新,无需担心支付宝相关功能受影响。

说明

注意:如果集成剥离UTDID的支付宝SDK还是出现冲突,需清理缓存后再次集成。

适用于

  • 移动推送

  • HTTPDNS

  • 移动热修复

  • 移动用户反馈

  • 移动数据分析

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。