Flutter Widget 之package: firebase_remote_config

259 阅读2分钟

之前做海外的项目时候,并没有umeng、bugly,所以就想到了firbase。

你的应用在启动新功能时可能存在风险,即使在你测试该功能后在交到用户手中之前,你如何确定应用是否正常操作?你如何确定用户喜欢这个新功能?你需要的方法是先为一小部分呢用户启用功能。

而firebase_remote_config包可以提供帮助远程配置我们位于云端的键值,因为位于云端,允许更改和自定义你的应用程序,而用户无需下载更新。

当你启动该功能时,使用远程配置设置功能标志。你可以先将应用发布给少数最忠实的用户,然后慢慢地推广给其他用户

bool shouldShowFeature = 
    FirebaseRemoteConfig
        .instance
        .getBool("shouldShowFeature");
        
if (shouldShowFeature) return. NewFeatureWidget();

或者你想知道将按钮设为红色是否促使更多用户采取行动,你可以睡用远程配置来进行A/B测试

image.png

你可以在远程配置中设置布尔键值对,对一定比例的用户,将值设置为true,然后,当用户的设备获取新值时,你可以为该部分受众显示正确的按钮

bool isAGroup = FirebaseRemoteConfig.instance.getBool("isAGroup");

ElevatedButton(
    style: ButtonStyle(
        backgrooundColor: MaterialStateColor.resolve((states) {
        if (isAGroup) return Colors.red;
        return Colors.blue;
        })
    ),
);

要为你的用户进行细分,远程配置有很多可使用的内置条件。

你可以创建一个细分受众群,仅代表在其设备上使用英语的用户,或者,你可以创建仅针对iOS用户的细分受众群,只有使用最新版本应用程序的用户,我们提出请求的日期时间等等,

ezgif.com-gif-maker.gif

甚至可以随机选择某个细分受众群中的用户百分比,只要你希望有多种类型的用户来测试一项新功能。 ezgif.com-gif-maker (1).gif

如果你已经在使用Google Analytics,你可以使用分析数据,根据你感兴趣的任何特征受众进行细分,过去曾经消费的用户。

在远程配置控制台中设置值时,你可以使用字符串、布尔值、数字甚至JSON blob

FirebaseRemoteConfig.instance.getString("greeting");
FirebaseRemoteConfig.instance.getBool("isAGroup");
FirebaseRemoteConfig.instance.getInt("salePrice");
FirebaseRemoteConfig.instance.value("payload");

当你更改云端的值时,下次用户从远程配置存取你的应用时,他们会看到新值。

ezgif.com-gif-maker (2).gif

你可以随心所欲地经常或尽可能少地存取

await remoteConfig.setConfigSettings(
    RemoteConfigSettings(
        fetchTimeout: const Duration(second: 1),
        minimumInterval: const Duration(second: 1),
    ),
);

远程配置可获取最新值并支持默认值,提供默认值很重要,因此应用程序仍然可以离线操作

remoteConfig.setDefaults(
    welcomeMessage: "Welcome!",
    shouldShowNewFeature: false,
);

image.png

如果想了解有关package: firebase_remote_config的内容,或者关于Flutter的其他功能,请访问pub.dev

原文翻译自视频:视频地址