我已经在我的应用程序中成功实现了RemoteConfig。使用fetchWithCompletionHandler:从Firebase服务器检索值。
但是,某些RemoteConfig参数是应用程序启动所必需的,我无法赋予它们完整的默认值(使用setDefaults)。
所以我的想法是阻止应用程序启动,直到fetchWithCompletion
处理程序返回值为止(我可以在向用户展示漂亮的微调器的同时异步执行该操作)。
但是,我想知道fetchWithCompletion
是否会立即返回值?
还是用户需要等待很长时间才能加载值?
答案 0 :(得分:0)
它不会总是立即返回值-请记住,您正在进行网络调用以从服务器获取这些值。在大多数情况下,此呼叫的速度非常快,但是根据当时用户的网络,它可能会花费很长时间,并且我相信此呼叫的默认超时时间非常长-大约30秒。
如果您确实希望在此调用完成之前阻止应用程序运行,我建议添加一个加载屏幕(以便您的用户知道它不会冻结,以防调用需要几秒钟),并自行执行时间-out比默认值短一点。
您可能要考虑的另一个选项是“为下次加载值”方法,您可以立即调用activateFetched
(它将激活您在上一个会话中下载的所有值),然后启动新获取的值可在下次加载。如果您有兴趣,请here获取有关它的更多信息。这意味着您的用户的第一次会话必须使用默认值,但这听起来可能不是您的应用程序的选择。