Android 刷新Firebase中的远程配置不会更新,除非重新启动(杀死)应用程序

Android 刷新Firebase中的远程配置不会更新,除非重新启动(杀死)应用程序,android,updates,firebase-remote-config,Android,Updates,Firebase Remote Config,我开始实现远程配置,并在更新服务器上的信息后进行获取,但当我重新启动(杀死)应用程序时,远程信息会更新并对应用程序可见。 更新会在(终止/重新启动)应用程序后立即进行。 我应该在应用程序中做什么才能在不杀死应用程序的情况下获得更新?用户不会终止应用程序,但它需要远程配置中的新信息。 我使用了两种方法: 第一个是关于创建: FirebaseRemoteConfig.getInstance().fetchAndActivate().addOnCompleteListener(this, new On

我开始实现远程配置,并在更新服务器上的信息后进行获取,但当我重新启动(杀死)应用程序时,远程信息会更新并对应用程序可见。 更新会在(终止/重新启动)应用程序后立即进行。 我应该在应用程序中做什么才能在不杀死应用程序的情况下获得更新?用户不会终止应用程序,但它需要远程配置中的新信息。 我使用了两种方法: 第一个是关于创建:

FirebaseRemoteConfig.getInstance().fetchAndActivate().addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                        @Override
                        public void onComplete(@NonNull Task<Boolean> task) {
                            if (task.isSuccessful()) {
                                boolean updated = task.getResult();
                                if (updated) {
                                    //do some updates on local device with the info.
                                }
                                Logs.logMsg("Fetch and activate succeeded. Config params updated: " + updated);
                            } else {
                                Logs.logMsg("task is NOT Successful. Fetch failed!");
                                    //try later 
                            }
}
                    });
FirebaseRemoteConfig.getInstance().fetchAndActivate().addOnCompleteListener(这是新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
布尔更新=task.getResult();
如果(更新){
//使用该信息在本地设备上执行一些更新。
}
Logs.logMsg(“获取并激活成功。配置参数更新:”+更新);
}否则{
Logs.logMsg(“任务未成功。获取失败!”);
//稍后再试
}
}
});
第二个是更新推送到服务器后的刷新(Firebase远程配置):

FirebaseRemoteConfig.getInstance().fetch(cacheExpirationSeconds).addOnCompleteListener(这是新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
logMsg(“获取并激活成功”);
//使用该信息在本地设备上执行一些更新。
}否则{
Logs.logMsg(“任务未成功。获取失败!”);
//请稍后再试。
}
}
});

您必须再次使用
fetchAndActivate
。需要激活新获取的值才能查看它们。未激活的提取不会导致看到任何更改。

您必须再次使用
fetchAndActivate
。需要激活新获取的值才能查看它们。没有激活的获取不会导致看到任何更改。

我也很惊讶,远程配置似乎不是实时的

因此,为了让用户获得实时更新,您必须发送静默推送通知 收到这些推送后,您请求更新

官方文件

人们如何类似地使用它


我也很惊讶,远程配置似乎不是实时的

因此,为了让用户获得实时更新,您必须发送静默推送通知 收到这些推送后,您请求更新

官方文件

人们如何类似地使用它

FirebaseRemoteConfig.getInstance().fetch(cacheExpirationSeconds).addOnCompleteListener(this, new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            if (task.isSuccessful()) {
                                Logs.logMsg("Fetch and activate succeeded. ");
//do some updates on local device with the info.
                            } else {
                                Logs.logMsg("task is NOT Successful. Fetch failed!");
                                //try again later.
                            }
                        }
                    });