Android Firebase RemoteConfig每次非在缓存过期后调用获取
也许我遗漏了什么,但是不应该只在缓存值比缓存值旧的情况下调用Android Firebase RemoteConfig每次非在缓存过期后调用获取,android,firebase,firebase-remote-config,Android,Firebase,Firebase Remote Config,也许我遗漏了什么,但是不应该只在缓存值比缓存值旧的情况下调用fetch() 从活动的onCreate调用此代码 firebaseRC = FirebaseRemoteConfig.getInstance() firebaseRC.fetch(3600L). .addOnCompleteListener(this, new OnCompleteListener<Void>() { @Override public void onComp
fetch()
从活动的onCreate调用此代码
firebaseRC = FirebaseRemoteConfig.getInstance()
firebaseRC.fetch(3600L). .addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//THE TASK IS ALWAYS SUCCESSFUL
firebaseRC.activateFetched();
}
}
});
firebaseRC=firebasemoteconfig.getInstance()
firebaseRC.fetch(3600L)。addOnCompleteListener(这个,新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//这项任务总是成功的
firebaseRC.activateFetched();
}
}
});
如果我连续几次在模拟器上启动应用程序,每次抓取都会成功完成
只有当我的数据超过3600秒时,fetch
才应该成功完成吗?因此,第二次启动应用程序时,fetch应该在没有onComplete的情况下完成
文件说:
第一次成功获取后,远程配置会在本地缓存值。
默认情况下,缓存在12小时后过期,但您可以更改
通过传递所需缓存,特定提取的缓存过期
fetch方法的过期时间。如果缓存中的值较旧
如果超过所需的缓存过期时间,远程配置将请求刷新
从服务中配置值。如果你的应用程序请求新值
多次使用fetch,请求将被限制,应用程序将被禁用
提供了缓存值
它没有说明onComplete
将如何触发。。。我是否应该每次都使用activateFetched()
,因为它具有相同的值?的API文档说明结果将来自缓存或服务器。它并没有说缓存的结果被认为是失败的。只有在无法提供任何结果时,提取才会失败,这意味着您的应用程序可能处于脱机状态,并且以前在缓存中没有成功提取的值。非常感谢您的时间和回答。这意味着,如果我将默认缓存值设置为6小时,那么每6小时fetch
将与服务器进行检查,否则它将使用缓存值?在这种情况下,每次启动应用程序时调用fetch
并打开onComplete
applyactivateFetched()
不是一个问题吗?我无法告诉您调用activateFetched()是否会对您造成问题。这取决于您打算如何使用这些值。只有在您愿意替换时才可以激活,因为可以在调用时替换所有值。我理解您的意思,但我认为我遗漏了一些东西。我想说的是,假设我的远程配置参数myParam
每月更改一次。这意味着,考虑到firebasemoteconfig.getString(myParam)
实际上应该返回相同的值,即使不使用activateFetched
我也不确定您在问什么,每天我都会用相同的缓存值反复调用activateFetched()
。您需要知道的唯一一件事是,激活获取的值将使它们通过getString等方式可供您的代码使用。如果您不激活,它们将永远不会出现在您的应用程序中。如果您在激活时没有新获取的值,则您的应用程序将看不到任何更改。您将无法判断是否有新值。你应该每次都激活。