1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > android获取固定uuid 稳定获取Android设备唯一代码(UUID)的解决方案

android获取固定uuid 稳定获取Android设备唯一代码(UUID)的解决方案

时间:2020-10-13 06:32:16

相关推荐

android获取固定uuid 稳定获取Android设备唯一代码(UUID)的解决方案

对于App云平台系统,如何唯一标识移动设备非常重要. 否则,每次用户在设备上卸载并重新安装应用程序时,后端系统只能将用户视为全新用户.

在Android上识别设备的唯一性. 因为这个圆圈太乱了,所以设备本身的任何标识都不能直接用作设备的唯一标识. iOS受到系统强大限制的独特认可. 目前,唯一可以部分满足条件的部分是IDFA,但这要求您的App本身必须嵌入广告.

当许多开发人员使用Jiguang Push时,他们有一个问题: Jiguang Push如何唯一地标识设备. 本文分析了Aurora Push如何尽可能唯一地标识设备.

Jiguang Push使用RegistrationID作为设备上安装的App的标识. Aurora Push希望“尽可能”确保设备的唯一性,即使RegistrationID尽可能唯一.

关于RegistrationID,积光的正式文件具有以下定义:

启动第一个应用程序后,将与JPush SDK集成的应用程序成功注册到JPush服务器时,JPush服务器将把device-RegistrationID的唯一标识返回给客户端. JPush SDK将以广播的形式将RegistrationID发送到应用程序.

有了此标识,App编程可以将此RegistrationID保存到其自己的应用程序服务器,然后根据RegistrationID将消息或通知推送到设备.

如果未卸载该应用,则会直接覆盖并安装该应用,Android和iOS上的RegistrationID的值不会更改.

如果该应用已卸载然后再次安装:

在Android上,由于中国存在大量假冒设备,因此无法使用可被视为唯一标识符的常规IMEI,Mac地址和AndroidID值,因为这些值可能在一批设备中相同的值.

Aurora的基本思想是:

生成DeviceID并将其保存到“设置”,“外部存储”. 依靠本地存储. 卸载并重新安装应用程序后,这些存储中的DeviceID仍然是同一设备. 这个理论上解决了90%的不变性问题. 在DeviceID之外添加补充规则: 根据IMEI,MAC地址,AndroidID的值全面判断它是否是旧设备.

根据实际操作条件和收集的反馈不断调整特定的逻辑细节. 大多数逻辑都可以在服务器端进行调整.

由于iOS系统设计限制了设备的唯一标识,因此Jiguang一直使用Device Token作为标识,并且因为Jiguang Push本身需要Device Token的值才能运行.

在iOS 9版本之后,每次卸载后重新安装都会导致设备令牌更改,因此对于Jiguang后端,只能将其识别为新用户.

新版的Jiguang SDK添加了IDFA选项. 集成并初始化SDK时,可以设置IDFA值,以便Jiguang背景会首先根据IDFA值识别用户如何查设备码,并在有可能的情况下在卸载后重新安装该应用程序,还可以将其标识为旧设备.

IDFA是广告标识符,由iOS专门设计,用于唯一标识用于广告跟踪的用户. 在iOS设备上,设备->隐私->广告页面上有一个设置项: 限制广告跟踪. 默认未选中,即关闭状态,没有限制. 用户可以选择限制广告跟踪. 除了设置外,还有一个按钮: 恢复广告标识符...如果用户单击此按钮,则IDFA值将更改.

默认情况下,广告跟踪没有限制,并且可以采用IDFA值. 并且当用户不单击“还原广告徽标”时如何查设备码,此值将不会更改. 这样就可以达到唯一识别设备并跟踪用户的目的.

但是,请注意,不一定要启用IDFA. 它要求您的应用程序具有广告功能,然后才能使用. 否则,Apple可能会在审核过程中发现并拒绝.

有关Apple App的IDFA要求,请参阅此处的说明:

由于在JPush SDK注册完成后获得了RegistrationID,因此在调用SDK API以获得RegistrationID的值时需要注意. 它并不总是立即可用.

例如,在iOS上,建议在监视通知kJPFNetworkDidLoginNotification后获取代码中RegistrationID的值.

Android拥有写设置的权限,该设置可以将数据写到设置中,等效于用作永久存储点. 外部存储通常指的是SDCard,现在越来越多的手机直接与手机一起使用,就像iPhone一样.

如果这两点的数据都被破坏,则实际上不会通过本地DeviceID存储确认为唯一设备. 但是,服务器还可以通过IMEI / AndroidID灵活地确认设备是否相同.

从上方复制

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-/a/ruanjian/article-288610-1.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。