如何从 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 远程配置模板版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何从firebase读取子数据[重复]

Android-从Firebase实时数据库读取数据并显示在RecyclerView上

从Firebase读取数据到Android目前没有代码

适用于 Android 的 Firebase 实时(在线)数据库的安全性如何?

从Firebase实时数据库读取Android数据并在RecyclerView上显示

如何从 iOS 中的 Firebase 消息通知中获取主题?