我们正在调查一个在 iOS 27 之后出现的 ATT 问题。
我们的应用请求以下权限:
- AppTrackingTransparency 权限
- 位置权限 (
CLLocationManager)
我们最初之所以开始调查,是因为 Meta 归因的 iOS 安装/转化在 iOS 27 发布后急剧下降,而 App Store 下载量似乎没有同等程度下降。
在调查过程中,我们发现新鲜安装的某些情况下 ATT 提示未如预期出现,且 ATTrackingManager.trackingAuthorizationStatus 仍为 .notDetermined。
我们的 iOS 工程师目前怀疑在首次启动流程中,位置权限请求与 ATT 请求可能相互干扰。
在 iOS 27 之前,我们未观察到相同的权限流问题。
我们从 Apple 文档中了解到,如果另一个系统权限请求已在等待,ATT 提示可能不会显示,且 iOS 不会对并发权限请求进行排队。
然而,我们尚未确认这在我们的应用中是否真的如此。
我们也尚未从受影响的生产构建中获得详细的生命周期和权限日志。
在下一个构建中,我们计划添加以下日志:
- iOS 版本
- 应用/场景活动状态
- 请求前当前 ATT 授权状态
requestTrackingAuthorization被调用的 precise 时间- ATT 完成回调结果
- 请求位置授权的 precise 时间
- 位置授权回调/状态
- 应用/场景生命周期转换
- ATT 提示是否实际显示
- 权限流完成后的最终 ATT 状态
在发布该诊断构建之前,我们希望确保收集到正确的信息并准确解读 iOS 行为。
我们的问题如下:
-
是否有人在 iOS 27 上特别观察到 ATT 行为的变化或倒退,尤其是在首次启动时同时请求其他权限(如位置权限)的情况?
-
如果在调用
requestTrackingAuthorization时,位置权限请求已在等待,ATT 提示是否可能无法出现并使状态保持为.notDetermined? -
iOS 会对这些权限请求进行排队,还是在另一个系统权限提示正在进行时,ATT 请求会被直接丢弃?
-
在请求 ATT 之前,是否有可靠的方法判断当前是否没有其他系统权限请求正在等待?
-
如果 ATT 仍保持为
.notDetermined,推荐的生产端行为是什么? -
在应用再次成为活动状态且所有其他权限流程完成后,是否适合稍后重新调用
requestTrackingAuthorization? -
除
UIApplicationStateActive/sceneDidBecomeActive之外,还有哪些额外的生命周期状态或回调需要记录? -
在下一个构建中,是否有其他与 ATT 或权限相关的值建议捕获,以区分:
-
应用内部的权限序列化问题
- 位置权限与 ATT 的交互
-
或 iOS 27 系统回退
-
是否有人在 iOS 27.0、27.1 和 27.2 之间观察到不同的行为?
我们的首要目标是确认 ATT 行为本身是否在 iOS 系统层面是正确的。
Meta 归因下降最初促使我们进行此调查,但我们在此讨论中并非旨在诊断 Meta 归因。
我们具体是想了解 iOS 27 上的 ATT / 位置权限行为。
如果您在 iOS 27 上有相关经验,或对我们在下一份诊断构建中应捕获的内容有建议,我们将不胜感激。
评论 (0)