Catch up on everthing we announced at this year's Firebase Summit. Learn more

支持 iOS 14

在 iOS 14.5 中,Apple 要求开发者通过 App Tracking Transparency 框架获得用户的许可,以跟踪他们或访问他们设备的广告标识符 (IDFA)。请参阅苹果公司的用户隐私和数据使用苹果的App跟踪透明度有关详细信息的文档。

受影响的 Firebase 产品

Firebase SDK 不访问 IDFA,但有些与可能涉及 IDFA 访问的 Google Analytics 集成。

下表列出了 Apple 平台上可用的 Firebase 产品,并描述了如果无法访问 IDFA,每个产品的功能将如何受到影响。

产品IDFA 不可访问时的影响
A/B 测试A/B 测试与 Google Analytics 集成中的一些定位数据(如人口统计)来自 IDFA。在无法访问 IDFA 的应用中,此定位不可用。
应用检查没有影响
应用分发没有影响
验证对身份验证和第一方身份验证提供程序(例如 Google 登录和电话身份验证)没有影响。
Crashlytics没有影响。 Crashlytics 与提供实时崩溃数据和面包屑的 Google Analytics 集成不依赖于 IDFA。
动态链接对链接打开功能没有影响。与 Google Analytics 一起使用时,链接转化事件的归因不可用。
云防火墙没有影响
云功能没有影响
应用内消息没有影响
Firebase 安装没有影响
实例ID没有影响
云消息与 Google Analytics 一起使用时,Google Analytics 会自动记录一些与 FCM 相关的转化事件。这些事件的归因需要 IDFA 访问权限。
火力基地机器学习没有影响
性能监控没有影响
远程配置与 Google Analytics 一起使用时,远程配置不允许自动创建的用户属性用于没有 IDFA 访问权限的定位。
实时数据库没有影响
云储存没有影响

受影响的 Firebase 集成

下表列出了在无法访问 IDFA 时受影响的 Firebase 集成产品。

产品IDFA 不可访问时的影响
谷歌分析分析事件记录、事件报告和转化衡量不受影响,但如果 IDFA 不可访问,则归因会受到影响。要了解更多关于谷歌的到iOS 14的反应,看我们的博客文章

在 iOS 14 上请求应用跟踪权限

如果您希望您的 Apple 应用程序能够访问 IDFA,您可以将 Apple 的 App Tracking Transparency 框架添加到您的应用程序中,并请求获得跟踪或访问您用户的 IDFA 的权限。

许多应用程序选择在请求许可之前呈现预热或解释器屏幕。解释器屏幕允许您在请求访问之前向用户提供有关您的应用程序如何使用 IDFA 的更多上下文。

如果您是AdMob广告或广告管理系统应用发布商,可以考虑使用资金的选择,它可以处理为服务个性化广告,以及同意跟踪自动按照苹果的指导方针在取得用户同意。请参阅AdMob的同意与用户信息页面了解更多详情。

下面指南提供使用溶液火力地堡应用程式消息,用于创建和之前请求经由应用跟踪透明度跟踪访问显示屏幕解释器。

将应用内消息添加到您的应用

按照说明应用程式消息添加到您的苹果应用

处理应用内消息关闭

首先,避免在无法出示的同意对话设备,如运行iOS 13.确保这个代码后立即执行设备显示屏幕解释器FirebaseApp.configure()

迅速

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

实施InAppMessagingDisplayDelegate当用户退出解释器屏幕的协议来处理事件。如果用户点击确定,则通过 App Tracking Transparency 框架显示系统提示。

迅速

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

创建应用内消息活动

代码在您的应用程序中就位后,在 Firebase 控制台中创建应用程序内消息。

  1. 火力地堡控制台,创建一个新的应用内广告信息活动。
  2. 您所需的内容填充在应用程序的消息,并配置消息来触发的app_launch事件。
  3. 定位部分,确保活动的目标只有最近您的应用程序及以上的版本。

您可以按照中的说明自定义解释器屏幕的外观应用内广告信息的文档

可选:A/B 测试不同的解释器屏幕

在应用内消息有一个内置的集成与火力地堡A / B测试,您可以使用不同的解释器屏幕上进行试验。

Firebase A/B 测试会自动创建实验组并帮助您直观地了解用户如何与您的应用程序的不同变体进行交互。

记录应用跟踪权限

如果您在处理应用跟踪权限响应时没有记录 Google Analytics 事件,则需要在运行 A/B 实验时测量响应率的变化。

迅速

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

创建新的转化事件

分析的火力地堡控制台,导航到转换菜单,然后使用相同的名称添加新转化事件作为事件记录与上述样本代码。

创建新实验

在控制台的应用内广告信息菜单,单击新实验,然后按照屏幕造成上的说明。

  • 定位部分,确保活动的目标只有最近您的应用程序及以上的版本。
  • 目标部分中,选择与上述样本代码以及要跟踪任何其他度量创建的转化事件。

一旦您发布了实验,它需要收集一段时间的数据,然后才能产生结论性的结果。

阅读火力地堡A / B测试文档,对于如何监控实验,并推出一个成功变种的信息。