之前做海外的项目时候,并没有umeng、bugly,所以就想到了firbase。
你的应用在启动新功能时可能存在风险,即使在你测试该功能后在交到用户手中之前,你如何确定应用是否正常操作?你如何确定用户喜欢这个新功能?你需要的方法是先为一小部分呢用户启用功能。
而firebase_remote_config包可以提供帮助远程配置我们位于云端的键值,因为位于云端,允许更改和自定义你的应用程序,而用户无需下载更新。
当你启动该功能时,使用远程配置设置功能标志。你可以先将应用发布给少数最忠实的用户,然后慢慢地推广给其他用户
bool shouldShowFeature =
FirebaseRemoteConfig
.instance
.getBool("shouldShowFeature");
if (shouldShowFeature) return. NewFeatureWidget();
或者你想知道将按钮设为红色是否促使更多用户采取行动,你可以睡用远程配置来进行A/B测试
你可以在远程配置中设置布尔键值对,对一定比例的用户,将值设置为true,然后,当用户的设备获取新值时,你可以为该部分受众显示正确的按钮
bool isAGroup = FirebaseRemoteConfig.instance.getBool("isAGroup");
ElevatedButton(
style: ButtonStyle(
backgrooundColor: MaterialStateColor.resolve((states) {
if (isAGroup) return Colors.red;
return Colors.blue;
})
),
);
要为你的用户进行细分,远程配置有很多可使用的内置条件。
你可以创建一个细分受众群,仅代表在其设备上使用英语的用户,或者,你可以创建仅针对iOS用户的细分受众群,只有使用最新版本应用程序的用户,我们提出请求的日期时间等等,
甚至可以随机选择某个细分受众群中的用户百分比,只要你希望有多种类型的用户来测试一项新功能。
如果你已经在使用Google Analytics,你可以使用分析数据,根据你感兴趣的任何特征受众进行细分,过去曾经消费的用户。
在远程配置控制台中设置值时,你可以使用字符串、布尔值、数字甚至JSON blob
FirebaseRemoteConfig.instance.getString("greeting");
FirebaseRemoteConfig.instance.getBool("isAGroup");
FirebaseRemoteConfig.instance.getInt("salePrice");
FirebaseRemoteConfig.instance.value("payload");
当你更改云端的值时,下次用户从远程配置存取你的应用时,他们会看到新值。
你可以随心所欲地经常或尽可能少地存取
await remoteConfig.setConfigSettings(
RemoteConfigSettings(
fetchTimeout: const Duration(second: 1),
minimumInterval: const Duration(second: 1),
),
);
远程配置可获取最新值并支持默认值,提供默认值很重要,因此应用程序仍然可以离线操作
remoteConfig.setDefaults(
welcomeMessage: "Welcome!",
shouldShowNewFeature: false,
);
如果想了解有关package: firebase_remote_config的内容,或者关于Flutter的其他功能,请访问pub.dev
原文翻译自视频:视频地址