阿里云-云产品SDK UTDID冲突解决方案

该解决方案适用的移动研发平台云产品包括:

1. 什么是UTDID冲突?

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

UTDID命名形式:

  • Android :utdid4all-x.x.x.jar
  • iOS :UTDID.framework

2. 怎么解决UTDID冲突?

注意:Android UTDID版本号必须>= v1.1.5.3,若不能确认UTDID版本号,请参考下述方案,保留阿里云平台的UTDID包。

2.1 手动集成解决方案

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

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

2.2 远程仓库集成解决方案

  • Android集成时,可以通过exclude关闭其他产品SDK对UTDID的传递性依赖,示例如下所示:
  1. compile ('com.xxx:xxx.xxx:1.0.1') {
  2. exclude (module:'alicloud-android-utdid')
  3. }

其module名不一定为alicloud-android-utdid,具体如何关闭UTDID的传递性依赖,可咨询对应产品SDK接口人。

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

2.3 与支付宝SDK UTDID冲突

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

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

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