导入细分

Firebase 提供了一些工具,可通过 Firebase 服务(例如 Remote ConfigCloud MessagingIn-App Messaging)针对用户群体定制用户体验。使用关联的 BigQuery 账号,您可以导入在 Firebase 之外识别的细分,以使用 Firebase 服务打造有针对性的体验。

设置导入的细分

您可以使用 Google Cloud BigQuery 将您的细分数据导入到 Firebase 中。BigQuery 提供了多种加载数据的方法,因此您可以自由选择最适合您配置的方法。

导入的细分数据流

启用集成后:

  • Firebase 会在 BigQuery 中创建您拥有的数据集,但 Firebase 对其拥有读取权限。
  • Firebase 会定期提取数据,并在 Firebase 控制台中提供更新后的细分以针对用户群体定制用户体验。
  • Firebase 对这些数据仅拥有读取权限。Firebase 会在其内部存储空间中保存这些数据的副本。
  • 从 BigQuery 数据集中删除的任何数据也会从 Firebase 数据存储空间中删除。

启用 BigQuery 导入功能

  1. 在 Firebase 控制台中转到 BigQuery 集成页面。
  2. 如果您之前未设置 BigQuery 集成,请按照屏幕上的说明启用 BigQuery。 Firebase 控制台中的“集成”屏幕
  3. 启用导入的细分切换开关。 处于停用状态的“导入的细分”切换开关

启用从 BigQuery 导入细分功能时:

  • Firebase 会自动创建名为 firebase_imported_segments 的新 BigQuery 数据集。此数据集包含名为 SegmentMembershipsSegmentMetadata 的空
  • 数据集“firebase_imported_segments”也会与带有网域 @gcp-sa-firebasesegmentation.iam.gserviceaccount.com 的 Firebase 服务账号共享。
  • Firebase 至少每 12 小时运行一次作业来从此数据集读取数据,并且可能以高于每 12 小时一次的频率来导入数据。

将数据导入 BigQuery

您可以使用任何受支持的机制来将数据加载到 BigQuery 中,以填充 SegmentMembershipsSegmentMetadata 表。数据必须遵循下述架构

SegmentMemberships

[
  {
    "name": "instance_id",
    "type": "STRING"
  },
  {
    "name": "segment_labels",
    "type": "STRING",
    "mode": "REPEATED"
  },
  {
    "name": "update_time",
    "type": "TIMESTAMP"
   }
]

instance_id:特定应用安装的 Firebase 安装 ID。您需要针对要纳入到细分中的每个应用安装检索安装 ID,并使用这些值填充此字段。

segment_labels:包含设备 ("instance_id") 的细分。这些参数不必具备人工易读性,可以简短,以减少 BigQuery 存储空间使用量。此处使用的每个 "segment_labels"SegmentMetadata 表中都必须有一个对应的条目。请注意,这是复数形式,而 SegmentMetadata 表具有 "segment_label"

update_time:当前未由 Firebase 使用,但可用于从 BigQuery 中删除不再使用的较旧细分成员。

SegmentMetadata

[
   {
      "name": "segment_label",
      "type": "STRING"
   },
   {
      "name": "display_name",
      "type": "STRING"
   }
]

segment_label:标识特定细分。SegmentMemberships 表列出的每个细分的此表中都必须有一个条目。请注意,这是单数形式,而 SegmentMemberships 表具有 "segment_labels"

display_name:细分的界面友好名称,具备人工易读性。此名称用于在 Firebase 控制台中为您的细分添加标签。

为 BigQuery 设置结算功能

如果您正在对安装数量极少的应用试验新功能,可能只需要设置 BigQuery 沙盒

但是,如果您要将此沙盒用于具有众多用户的正式版应用,则必须设置 BigQuery 使用量结算功能,以便为存储空间以及用于将数据加载到 BigQuery 中的机制支付费用。您不需要为 Firebase 启动的任何读取操作支付费用。

停用集成功能

如需停用此集成功能,请转到 Firebase 控制台中的 BigQuery 集成页面,然后停用自定义细分切换开关。

使用导入的细分

提取数据后,您可以在 Firebase 控制台中使用这些数据,以便通过 Remote Config 或 In-App Messaging 等服务针对用户群体定制用户体验。这就像使用属性 (Property) 或 Google Analytics(分析)目标设备针对用户群体定制用户体验一样。

将“导入的细分”与 Notifications Composer 搭配使用的示例

您可以将“导入的细分”用作有针对性的特性 (Attribute) 之一,而您导入的细分可供选择使用。这些细分还包含属于每个细分的应用实例数量的估算值。

您还可以使用与整个定位条件匹配的实例数量的估算值。当您对定位条件进行任何更改时,此估算值会更新。

使用场景

您可以通过多种方式使用导入的细分来打造有针对性的用户体验。本部分概述了您可能希望使用此功能的一些常见场景。

向一组用户发送通知

假设您有一个允许用户使用购物车在应用内购买商品的应用。此外,您可能还会使用自定义构建的分析解决方案或第三方分析解决方案(不是由 Google Analytics(分析)提供的解决方案),以收集与应用中用户行为相关联的各种指标。使用这些指标,您可以识别一组向购物车添加了商品但尚未完成结算的用户。

现在,假设您希望使用 Firebase Cloud Messaging 向这些用户发送通知,以提醒他们购物车中有商品。您可以创建一个名为“incomplete-checkout”的细分,并添加由 Firebase 安装 ID 标识的这些用户,然后将其上传到 BigQuery 以与 Firebase 共享。

Firebase 提取这些数据后,您可以在 Notifications Composer 中使用这些数据来针对“incomplete-checkout”创建新的通知广告系列,以发送提示用户完成结算的消息。

为部分用户配置应用

假设您使用内部分析解决方案,用于指示某些用户在浏览应用时遇到了问题。为了帮助这些用户,您需要为这些用户配置应用行为,以包含简短的教程视频。

您可以在应用中添加 Remote Config,并在应用中使用类似名为“needs_help”这样的参数,以便有条件地显示教程视频。

使用分析数据,创建一个名为“troubled-users”的细分,并包含由 Firebase 安装 ID 标识的相应用户。然后,将此细分及其成员上传到 BigQuery 以与 Firebase 共享。

Firebase 提取这些数据后,就会在 Remote Config 控制台中以针对性细分的形式提供这些数据。然后,您可以创建一个针对“troubled-users”的条件并将“needs_help”参数设置为 true(针对此条件;默认情况下为 false)。此配置发布后,应用只会向“troubled-users”细分中的用户显示教程视频。

跨设备关注用户活动

假设您使用 Firebase 和 Google Analytics(分析)构建了一个餐馆评价应用。使用收集的指标,您发现用户经常通过移动设备和平板电脑访问应用。您还发现,用户喜欢在平板电脑上撰写评价,而可能会通过任何设备阅读评价。

某些用户刚开始在手机上撰写评价但后来放弃了,可能是因为设备类型较小。您决定在此类用户的平板电脑上向他们发送通知,提示他们完成评价。

为此,您可以使用 Google Analytics(分析)将内部生成的 reviewerId 设置为已登录用户的 UserId,并触发事件来识别已取消的评价。然后,您可以将应用的 Google Analytics(分析)数据导出到 BigQuery。

通过在 BigQuery 中分析这些数据,您可以识别未在手机上撰写完评价的用户的平板电脑的 Firebase 安装 ID。您可以将这组平板电脑命名为“tablets-of-users-who-cancelled-on-phone”,然后将细分上传到 BigQuery,以与 Firebase 共享成员列表。

Firebase 提取这些数据后,就会在 Notifications Composer 中以针对性细分的形式提供这些数据。然后,您可以创建一个针对“tablets-of-users-who-cancelled-on-phone”的新通知广告系列,以发送提示这些用户在平板电脑上完成评价的消息。