我为我的旧应用程序实现了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();
}
}
});
}
有人能告诉我我遗漏了什么吗?还有什么其他的配置我必须做的消防基地方面,我错过了吗?
4条答案
按热度按时间83qze16e1#
正如您在错误日志的第8行中看到的那样
所以你可以尝试两件事
1.尝试添加
SHA certificate fingerprints
,如果您还没有这样做,然后Invalidate并重新构建您的项目。1.或者您可以简单地删除
build
文件,然后重新构建您的项目。rm5edbpk2#
如果您的API密钥受到限制(您应该这样做),请确保将您的开发证书和捆绑包ID添加到密钥中。
访问your dashboard,从顶栏-〉API键中选择项目,您应该会看到它们(由Firebase自动创建)。
sycxhyv73#
尝试与Google Play商店帐户登录设备。
enyaitl34#
如果您正在使用模拟器,请确保您的模拟器具有有效的Internet连接