应用开发者可通过多种不同方式使用 Remote Config 来满足自己的特殊需求,我们鼓励这种做法。为了让您了解通过 Remote Config 可以实现哪些操作,本页面介绍了一些常见的移动开发者使用场景。
使用按百分比发布的机制发布新功能
您可以利用 Remote Config 执行百分比发布,逐步向用户公开新功能。对于此使用场景,假设您使用名为 new_search_feature_flag
的 Remote Config 参数启用或停用了新的搜索功能,并且希望首先将此功能推广到 10% 的安装用户群。
为此,您需要修改 new_search_feature_flag
参数,添加新条件,并选择用户(随机百分比)。使用滑块设置介于 0 到 10 之间的随机百分比。
![展示 Firebase 控制台 GUI 步骤的图片,这些步骤用于对现有参数执行百分比发布](https://firebase.google.cn/static/docs/remote-config/images/RCUC_1_New_Feature_Rollout_1_1.png?authuser=8&hl=hu)
现在,当从 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 步骤的动画图片,这些步骤用于定义针对具体平台和针对具体语言区域的促销横幅](https://firebase.google.cn/static/docs/remote-config/images/RCUC_2_Promo_Banners_1_1.gif?authuser=8&hl=hu)
您还可以使用 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
参数将如下所示:
在您发布包含此参数的配置后,两组用户都将在下次提取后收到您配置的额外金币参数值。
接下来,尝试使用您的参数和定位条件(指定不同的横幅消息和奖励金币数量)进行 A/B Testing 实验或个性化。
在限定测试组中测试新功能
通常,如需在限定测试组中测试新功能,您可以使用 Google Play 上的 Alpha 渠道,对于 Apple 应用,则可使用 Test Flight。如果您想在常规开发周期内同步测试新功能,那么这些工具非常合适。
但是,有时您可能希望更快地测试某项功能,并希望能轻松启用或停用该功能,而不受常规开发周期中下一版本发布时间的影响。对于这种情况,Remote Config 将会非常有用。
假设您希望在您的公司员工中测试新的图形。 如何通过 Remote Config 来实现这个目的?
当用户登录您的应用时,检查其电子邮件 ID 并设置用户属性 is_mydomain_employee=true
(只有当电子邮件地址属于您的网域时,才应用该属性)。然后创建一个可跟踪此用户属性的条件。
您可以在 Remote Config 中定位此用户属性,并仅为这些用户启用新功能。
![展示 Firebase 控制台 GUI 步骤的动画图片,这些步骤用于在限定测试组中测试新功能](https://firebase.google.cn/static/docs/remote-config/images/RCUC_3_Internal_Testing_1_1.gif?authuser=8&hl=hu)
使用 JSON 配置应用或游戏中的复杂实体
随着应用越来越复杂,您需要使用更好的方法来为应用提供配置。例如,如果要配置新的登录系统,您可以为要控制的每个动态值创建一个 Remote Config 参数。但是,以这种方式配置登录系统非常繁琐,不易理解且难以维护。
有一种方法能更好地为这种登录系统提供配置,即使用 JSON 并将所有此类参数分组到同一个参数中。这有助于更轻松地编辑和维护 login
参数,随着时间的推移,其优势会越来越明显。
Firebase 控制台提供了一个 JSON 验证器和美观输出工具,供您在修改 Remote Config 参数时使用。使用控制台操作时,点击 {} 图标即可打开编辑器。
![展示 Firebase 控制台 GUI 步骤的动画图片,这些步骤用于通过 JSON 配置复杂实体](https://firebase.google.cn/static/docs/remote-config/images/RCUC_4_JSON_Configurations_1_1.gif?authuser=8&hl=hu)
发布 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 频道。