唐游娱乐主管-注册本文总结了iOS发展历程中出现的唯一标识符,详细说明了相关概念、适用范围、获取方式和注意事项。
iOS 2 提供了一种方法获取 IMEI,但是为了保护用户隐私,iOS 5 以后苹果不再允许获取 IMEI 了,如果你在应用中获取 IMEI,可能会遭到 Apple Store 的拒绝。
Mac(Medium/Media Access Control):网络设备的物理地址,如果 IMEI 被认为是设备的唯一标识,那么 Mac 就是网络接口唯一标识。同样由于隐私问题,在 iOS 7 之后无法通过 Mac 地址来标识唯一设备,因为在 iOS 7 之后获取到的 Mac 地址为一固定值。
每个设备唯一的字母数字字符串,您仅将其用于广告。将此字符串用于频率上限、归因、转化事件、估计唯一用户数量、广告欺诈检测和调试。在运行 iOS 14.5 及更高版本和 iPadOS 14.5 及更高版本的设备上,您的应用必须请求跟踪授权才能获取广告标识符。
1. 广告标识符返回唯一的 UUID 或全零。它在以下情况下返回唯一的 UUID:
如果“设置”“隐私”“跟踪”“允许应用程序请求跟踪”处于启用状态,则您已通过调用应用程序跟踪透明度 API 向用户请求跟踪授权,并收到了由 ATTrackingManager.AuthorizationStatus.authorized 指示的授权。
如果用户在授权您的应用后将设置 隐私 跟踪 允许应用请求跟踪更改为关闭,并为您的应用保留权限。
【设置 隐私 跟踪 允许应用请求跟踪】要求App停止追踪后,之后重装获取到的IDFA将会变化。
如果您的应用程序收集有关最终用户的数据并与其他公司共享以跨应用程序和网站进行跟踪,则您必须使用 AppTrackingTransparency 框架。AppTrackingTransparency 框架向用户提出应用跟踪授权请求,并提供跟踪授权状态。
对于来自同一供应商并在同一设备上运行的应用,此属性的值相同。对于来自不同供应商的同一设备上的应用程序以及不同设备上的应用程序(无论供应商)返回不同的值。
通常,供应商由 App Store 提供的数据确定。如果应用程序不是从应用程序商店安装的(例如企业应用程序和仍在开发中的应用程序),则会根据应用程序的bundle ID 计算供应商标识符。bundle ID 假定为反向 DNS 格式。
在 IOS 7 中,bundle ID的所有组件(最后一个组件除外)都用于生成供应商 ID。如果bundle ID 只有一个组件,则使用整个bundle ID。
下表显示了bundle ID 的集合以及系统用于计算供应商 ID 的bundle ID 的哪些部分。
如果该值为 nil,则等待并稍后再次获取该值。例如,这发生在设备重新启动之后但用户解锁设备之前。
当应用程序(或来自同一供应商的另一个应用程序)安装在 iOS 设备上时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重新安装其中一个或多个应用程序时,该值会发生变化。当使用 Xcode 安装测试版本或使用 ad-hoc 分发在设备上安装应用程序时,该值也可能发生变化。因此,如果您的应用程序将此属性的值存储在任何地方,您应该优雅地处理标识符更改的情况。
iOS14以下 【设置 隐私 广告 限制广告跟踪】 关闭 iOS14以上 【设置 隐私 跟踪 允许应用请求跟踪】开启 && 授权弹窗允许
iOS14以下 【设置 隐私 广告 还原广告标识符】 iOS14以上【设置 隐私 跟踪 允许应用请求跟踪】要求App停止追踪