如何从 Android 读取 Firebase 远程配置模板版本?
Posted
技术标签:
【中文标题】如何从 Android 读取 Firebase 远程配置模板版本?【英文标题】:How do I read the Firebase Remote Config template version from Android? 【发布时间】:2021-12-02 20:01:09 【问题描述】:在 Firebase 远程配置控制台上,我看到 Config - Version 26
,其中 26 是配置的模板版本。
如何从 android 读取该版本?
我正在使用implementation "com.google.firebase:firebase-config:19.0.3"
【问题讨论】:
【参考方案1】:你可以使用依赖
implementation 'com.google.firebase:firebase-config'
然后在你的活动中:
public void checkForVersionUpdate()
FirebaseRemoteConfig firebaseRemoteConfig;
firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder().setMinimumFetchIntervalInSeconds(3600).build();
firebaseRemoteConfig.setConfigSettingsAsync(configSettings);
firebaseRemoteConfig.fetchAndActivate().addOnSuccessListener(aVoid ->
double latestAppVersion = firebaseRemoteConfig.getDouble("build_version");
if (latestAppVersion > getCurrentBuildVersion())
//enter what needs to be done if your the version differs
else
//up to date
);
【讨论】:
FirebaseRemoteConfig: No value of type 'Double' exists for parameter key 'build_version'.
【参考方案2】:
在 Firebase 远程配置控制台上,我看到了 Config - 版本 26
那是template version。每次您在控制台中发布配置更改时,该版本都会增加。
如何从 Android 读取该版本?
无法从 Android SDK 读取模板版本。换句话说,除了getters for other metadata,模板版本没有getter。
也就是说,从代码示例来看,问题似乎可以改写为“如何将配置定位到我的应用版本?”。您可以使用“应用程序版本”targeting condition 来执行此操作。 Android SDK 在获取配置时发送应用版本。仅当版本与条件匹配时,才会返回由该条件门控的任何配置。
【讨论】:
感谢您也证实了我的假设,即没有办法阅读。虽然我很欣赏你的建议,但这是解决不同问题的方法,而不是我要问的问题以上是关于如何从 Android 读取 Firebase 远程配置模板版本?的主要内容,如果未能解决你的问题,请参考以下文章
Android-从Firebase实时数据库读取数据并显示在RecyclerView上
适用于 Android 的 Firebase 实时(在线)数据库的安全性如何?