Remote Config 有哪些用途?

应用开发者可通过多种不同方式使用远程配置来满足自己的特殊需求,我们鼓励这种做法。为了让您了解通过 Remote Config 可以实现哪些操作,本页面介绍了一些常见的移动开发者使用场景。

使用按百分比发布的机制发布新功能

您可以利用 Remote Config 执行百分比发布,逐步向用户公开新功能。对于此使用场景,假设您使用名为 new_search_feature_flag 的 Remote Config 参数启用或停用了新的搜索功能,并且希望首先将此功能推广到 10% 的安装用户群。

为此,您需要修改 new_search_feature_flag 参数,添加新条件,并选择用户(随机百分比)。使用滑块设置介于 0 到 10 之间的随机百分比。

展示 Firebase 控制台 GUI 步骤的图片,这些步骤用于对现有参数执行百分比发布
为按百分比发布功能添加参数

现在,当从 Remote Config 提取 new_search_feature_flag 值时,随机选择的用户中有 10% 会收到值 true,而其余 90% 的用户会收到值 false

如果在这 10% 的用户群体中,新功能的稳定性令您满意,那么您可以将比例提高到 30%,再到 50%。最终,当您对新功能抱有充分信心时,就可提高到 100%。

为您的应用定义针对具体平台和针对具体语言区域的促销横幅

假设您即将开展电子商务销售活动,想要在应用中启用促销信息页。此外,假设您希望将此页面自定义为用户在其设备上设置的语言区域。您可以定义参数 promo_splash_graphic 并将其值设为静态网址(托管在 Firebase Storage 上或其他位置),然后在您的应用中动态引用这些网址。

这样,您便可针对促销营销活动中最重要的语言区域,为 Android 和 Apple 系统指定不同的值。如果您需要在特定时间触发促销活动,可以使用 Remote Config 的时间条件,也可以使用实时 Remote Config 确保在模板发布后尽快拉取更改,然后您可以根据需要在应用中激活这些更改。

展示 Firebase 控制台 GUI 步骤的动画图片,这些步骤用于定义针对具体平台和针对具体语言区域的促销横幅
为经过本地化的促销横幅添加参数

您还可以使用 Remote Config 后端 API 以编程方式更新参数值,然后通过 cron 作业触发相应功能。

根据首次使用应用的情况为用户提供定制体验

您可以使用 Remote Config 根据用户首次打开应用的日期和时间为用户提供定制体验,包括以下使用情形:

  • 在用户加入您的应用时提供不同的新手入门流程。
  • 在特定日期之后,向新用户公开激励措施或隐藏在功能标志或切换开关后的功能。
  • 为在特定时间段内加入的用户提供定制体验。

假设您想要向新用户提供游戏内礼物,以鼓励玩家首次互动和留住玩家,并且您希望向一组长期玩家提供不同的奖励。您可以创建一个名为 extra_coin_splash 的参数来控制一个弹出式窗口,在其中提供免费游戏代币,并显示可自定义的消息、奖励金币数量以及在用户未接受优惠时重新显示优惠的最大次数。您可以使用应用内默认值作为参数默认值,然后创建两个条件。

首先,向面向特定 Android 或 iOS 应用的 extra_coins_splash Remote Config 参数添加一个条件值,并将首次打开设置为未来日期和时间,然后将此参数值设为:

{"banner_text": "Welcome! Enjoy some extra coins!", "bonus_coins": 15, "max_display_retries": 2}

接下来,为您要奖励的现有用户组添加一个条件,例如,在 7 月份加入并且 10 月份仍在使用您的游戏的所有用户。为此,请向 extra_coins_splash 参数添加另一个条件值,并将首次打开时间设为 7 月 1 日至 8 月 1 日,然后将参数值设为:

{"banner_text": "Thanks for being a loyal user!", "bonus_coins": 30, "max_display_retries": 2}:

最终,您的 extra_coins_splash 参数将如下所示:

具有条件值的 Remote Config 参数

在您发布包含此参数的配置后,两组用户都将在下次提取后收到您配置的额外金币参数值。

接下来,尝试使用您的参数和定位条件(指定不同的横幅消息和奖励金币数量)进行 A/B Testing 实验个性化

在限定测试组中测试新功能

通常,如需在限定测试组中测试新功能,您可以使用 Google Play 上的 Alpha 渠道,对于 Apple 应用,则可使用 Test Flight。如果您想在常规开发周期内同步测试新功能,那么这些工具非常合适。

但是,有时您可能希望更快地测试某项功能,并希望能轻松启用或停用该功能,而不受常规开发周期中下一版本发布时间的影响。对于这种情况,Remote Config 将会非常有用。

假设您希望在您的公司员工中测试新的图形。 如何通过 Remote Config 来实现这个目的?

当用户登录您的应用时,检查其电子邮件 ID 并设置用户属性 is_mydomain_employee=true(只有当电子邮件地址属于您的网域时,才应用该属性)。然后创建一个可跟踪此用户属性的条件。 您可以在 Remote Config 中定位此用户属性,并仅为这些用户启用新功能。

展示 Firebase 控制台 GUI 步骤的动画图片,这些步骤用于在限定测试组中测试新功能
使用条件定位测试组

使用 JSON 配置应用或游戏中的复杂实体

随着应用越来越复杂,您需要使用更好的方法来为应用提供配置。例如,如果要配置新的登录系统,您可以为要控制的每个动态值创建一个 Remote Config 参数。但是,以这种方式配置登录系统非常繁琐,不易理解且难以维护。

有一种方法能更好地为这种登录系统提供配置,即使用 JSON 并将所有此类参数分组到同一个参数中。这有助于更轻松地编辑和维护 login 参数,随着时间的推移,其优势会越来越明显。

Firebase 控制台提供了一个 JSON 验证器和美观输出工具,供您在修改 Remote Config 参数时使用。使用控制台操作时,点击 {} 图标即可打开编辑器。

展示 Firebase 控制台 GUI 步骤的动画图片,这些步骤用于通过 JSON 配置复杂实体
使用 JSON 编辑器对参数进行分组

发布 Remote Config 更新时发送 Slack 消息/电子邮件

如果您隶属于一个使用 Remote Config 的大型团队,通常很难跟踪团队中 Remote Config 的发布者以及发布时间。

为了简化协作流程,您可以通过喜欢的方式(Slack 或电子邮件)近乎实时地收到通知。借助 Remote Config REST API 及 Cloud Functions for Firebase 中的 Remote Config 后台触发器,您可以在 Remote Config 模板发生变化时发送通知。

eBay 最近开放了部分源代码,展示了他们如何将 Cloud Functions 与 Remote Config 配合使用,从而将先前的 Remote Config 模板和新的 Remote Config 模板进行差异比较并将比较结果发布到 Slack 频道。