Android FirebaseRemoteConfig.fetchAndActivate()失败,错误为';注册过多';对于某些用户
我的代码使用远程配置检查应用程序更新,如下所示:Android FirebaseRemoteConfig.fetchAndActivate()失败,错误为';注册过多';对于某些用户,android,firebase-remote-config,Android,Firebase Remote Config,我的代码使用远程配置检查应用程序更新,如下所示: ForceUpdateChecker.with(this).onUpdateNeeded(this).check(); final FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); // set in-app defaults Map<String, Object> remoteConfig
ForceUpdateChecker.with(this).onUpdateNeeded(this).check();
final FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
// set in-app defaults
Map<String, Object> remoteConfigDefaults = new HashMap();
remoteConfigDefaults.put(ForceUpdateChecker.KEY_UPDATE_REQUIRED, false);
remoteConfigDefaults.put(ForceUpdateChecker.KEY_CURRENT_VERSION, "2.00.229");
remoteConfigDefaults.put(ForceUpdateChecker.KEY_UPDATE_URL,
"https://play.google.com/store/apps/details?id=com.chiaramail.pento");
firebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults);
firebaseRemoteConfig.fetchAndActivate() // fetch config from server and activate
.addOnCompleteListener(new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) {
Log.d(TAG, "FirebaseRemoteConfig fetched");
} else {
Log.d(TAG, "FirebaseRemoteConfig error:" + task.getResult());
}
}
});
ForceUpdateChecker.with(this).onUpdateRequired(this.check();
最终的FirebaseRemoteConfig FirebaseRemoteConfig=FirebaseRemoteConfig.getInstance();
//设置应用内默认值
Map remoteConfigDefaults=newhashmap();
remoteConfigDefaults.put(ForceUpdateChecker.KEY\u UPDATE\u REQUIRED,false);
remoteConfigDefaults.put(ForceUpdateChecker.KEY\u当前版本,“2.00.229”);
remoteConfigDefaults.put(ForceUpdateChecker.KEY\u UPDATE\u URL,
"https://play.google.com/store/apps/details?id=com.chiaramail.pento");
firebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults);
firebaseRemoteConfig.fetchAndActivate()//从服务器获取配置并激活
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Log.d(标记“FirebaseRemoteConfig已获取”);
}否则{
Log.d(标记“FirebaseRemoteConfig错误:”+task.getResult());
}
}
});
自从我更新了包含此代码的版本后,几个用户已经崩溃,结果是“注册太多”。我相信我已经看过了所有与此问题相关的SO帖子,但没有一篇使用fetchAndActivate()。另外,目前我只有大约1200个用户,所以希望抓取的数量不是问题所在;此外,据我所知,Remote Config是为了将更改推送到整个用户群而构建的,因此1200个用户(最多6000个设备)应该不是问题。您确定错误与此代码有关吗?你怎么知道的?快速的网络搜索表明,太多的注册是来自FCM而不是远程配置的错误。@DougStevenson我知道,但Firebase在崩溃报告电子邮件中返回的就是这个。与此同时,我放弃了使用远程配置进行应用程序更新,现在正试图用谷歌API实现它,但也没有多大成功。如果搜索没有发现任何东西,我可能会发布另一个问题。