如何解决Firebase RemoteConfig 卡在 FirebaseRemoteConfigClientException 中:Firebase 安装未能获得用于获取的安装身份验证令牌
场景:
此 Android 应用程序已经上线并进行了多次更新(因此 SHA 密钥没有问题)。全新安装从来没有这个问题。根据我们收集的 crashlytics non-fatal 判断,该问题有时会在任何 App 更新后发生。日志表明发生了 FirebaseRemoteConfigClientException: Firebase Installations failed to get installation auth token for fetch。由于不可预见的配置问题,应用程序会在启动后 10-15 秒关闭。
现在这可能只是连接问题,但我们看到用户在一天中的不同时间一次又一次地尝试,并且 crashlytics 报告确实出现(表明存在互联网)。但是,这些用户永远不会越过此异常,并且永远不会获取新的远程配置值。所以这对我们来说几乎是一个失去的客户(直到他们重新安装应用程序)。所以问题是,为什么 Firebase 似乎无法为这些用户刷新令牌(最多 7 次尝试)。 10 秒超时是否有某种牵连?
代码:
MainActivity.OnCreate()
{
mRemoteConfig.setDefaultsAsync(defaults).addOnFailureListener(new OnFailureListener()
{
@Override
public void onFailure(@NonNull Exception e)
{
mCrash.log("LoadConfigs - failed to set defaults: " + e);
throw new Utils.RemoteConfigException("Failed to register defaults.");
}
}).addOnSuccessListener(new OnSuccessListener<Void>()
{
@Override
public void onSuccess(Void aVoid)
{
mCrash.log("LoadConfigs - setdefaults success.");
}
});
mRemoteConfig.fetchAndActivate().addOnCompleteListener(new OnCompleteListener<Boolean>()
{
@Override
public void onComplete(@NonNull Task<Boolean> task)
{
if (task.isSuccessful())
{
boolean updated = task.getResult();
mCrash.log("RemoteConfig - FetchAndActivate succeeded. Update: " + updated);
}
else
{
mCrash.log("RemoteConfig - FetchAndActivate failed: " + task.getException());
}
}
});
}
//here we check some configurations and potentially shut down after 10 secs
MainActivity.OnResume()
{
if(configuration error)
{
ShowAndLogErrorMsg("Config error - please restart App.");
mCrash.recordException(new ConfigurationError(""));
//shut down after 10 seconds
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
finish();
}
},10000);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。