android 获取Firebase远程配置失败,出现FirebaseRemoteConfigClientException异常

gojuced7  于 2023-02-14  发布在  Android
关注(0)|答案(4)|浏览(447)

我为我的旧应用程序实现了firebase远程配置,它已经使用了firebase crashlytics和firebase analytics。这些服务工作得很好。但是使用远程配置时,我得到了这个auth令牌错误。

com.google.firebase.remoteconfig.FirebaseRemoteConfigClientException: Firebase Installations failed to get installation auth token for fetch.
at com.google.firebase.remoteconfig.internal.ConfigFetchHandler.lambda$fetchIfCacheExpiredAndNotThrottled$1(ConfigFetchHandler.java:209)
at com.google.firebase.remoteconfig.internal.ConfigFetchHandler$$Lambda$2.then(Unknown Source:8)
at com.google.android.gms.tasks.zzg.run(com.google.android.gms:play-services-tasks@@17.0.2:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:147)
at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:490)
at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:361)
at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:351)
at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)

我按照谷歌文档上的实现指南操作。我不确定我是否遗漏了任何一步。这是我的代码。

应用程序类

public class Global extends Application {

    public static FirebaseRemoteConfig REMOTE_CONFIG = null;

    @Override
    public void onCreate() {
        super.onCreate();

        REMOTE_CONFIG = FirebaseRemoteConfig.getInstance();
        FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                .setMinimumFetchIntervalInSeconds(3600)
                .build();
        REMOTE_CONFIG.setConfigSettingsAsync(configSettings);
        REMOTE_CONFIG.setDefaultsAsync(R.xml.remote_config_defaults);
    }
}

我在主屏幕片段中使用了fetch请求。我在onViewCreated中调用了下面的方法

private void getRemoteConfig(){

        Global.REMOTE_CONFIG.fetchAndActivate().addOnCompleteListener(requireActivity(), task -> {

            if (task.isSuccessful()) {
                String home_screen_status = Global.REMOTE_CONFIG.getString("home_screen_status");
            }else{
                try {
                    throw task.getException();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

有人能告诉我我遗漏了什么吗?还有什么其他的配置我必须做的消防基地方面,我错过了吗?

83qze16e

83qze16e1#

正如您在错误日志的第8行中看到的那样

Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.

所以你可以尝试两件事
1.尝试添加SHA certificate fingerprints,如果您还没有这样做,然后Invalidate并重新构建您的项目。
1.或者您可以简单地删除build文件,然后重新构建您的项目。

rm5edbpk

rm5edbpk2#

如果您的API密钥受到限制(您应该这样做),请确保将您的开发证书和捆绑包ID添加到密钥中。
访问your dashboard,从顶栏-〉API键中选择项目,您应该会看到它们(由Firebase自动创建)。

sycxhyv7

sycxhyv73#

尝试与Google Play商店帐户登录设备。

enyaitl3

enyaitl34#

如果您正在使用模拟器,请确保您的模拟器具有有效的Internet连接

相关问题