问题描述
使用阿里云产品的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
移动热修复
移动用户反馈
移动数据分析