什么是 Firebase 远程配置开发者模式

2024-03-04

我正在将 Firebase 远程配置添加到应用程序中,但我对其用途感到困惑.setMinimumFetchIntervalInSeconds(...) & .setDeveloperModeEnabled(true/false)。文档讨论了开发人员模式,但我不确定他们是否清楚地解释了它的实际用途。是否必须与setMinimumFetchIntervalInSeconds或者它可以单独使用吗?如果单独使用,它会做什么?

其次,我在应用程序的调试版本中测试我的测试布尔值,值设置为 5 分钟或小时,但我仍然总是在 3 秒内获得我的值。当我设置setDeveloperModeEnabled为 false 或不添加FirebaseRemoteConfigSettings就我的例子而言,我仍然没有观察到著名的节流异常,并且我立即得到了我的值。基本上看起来我的缓存设置被忽略了,我总是从后端获取新数据,并且我可以将缓存设置为我想要的最低值。


setDeveloperModeEnabled()已弃用。他们使用setMinimumFetchIntervalInSeconds()现在改为设置缓存过期延迟。

检查你的 gradle 中的这一行并确保它的版本19.1.4(截至今天)或更新:implementation 'com.google.firebase:firebase-config:19.1.4'

Firebase 对您可以发出的提取请求数量有配额。开发者模式是一种为您自己的设备开绿灯的方法,以便能够不受限制地随时获取,但您无法在启用开发者模式的情况下发布您的应用程序(您仍然需要指定间隔)

如果您使用的是 v17.0.0,请通过将 cacheExpiration 值更改为您想要的值来使用此代码。

long cacheExpiration = 3600;
    mFirebaseRemoteConfig.setConfigSettingsAsync(new FirebaseRemoteConfigSettings.Builder() 
       .setMinimumFetchIntervalInSeconds(cacheExpiration)
       .build());

//** deprecated */
//mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

mFirebaseRemoteConfig.fetchAndActivate()
.addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
    @Override
    public void onComplete(@NonNull Task<Boolean> task) {
        if (task.isSuccessful()) {
            boolean updated = task.getResult();
            Log.d(TAG, "Config params updated: " + updated);
            Toast.makeText(MainActivity.this, "Fetch and activate succeeded " + updated,
                    Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "Fetch failed",
                    Toast.LENGTH_SHORT).show();
        }
        updateConfig();
    }
});

setDeveloperModeEnabled不再受支持,这可能就是您没有观察到其行为有任何变化的原因

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 Firebase 远程配置开发者模式 的相关文章

随机推荐

  • Playframework 与 CSRF:“会话中未找到 CSRF 令牌”?

    我正在使用 Playframework 及其内置 CSRF 过滤器和 Security Authenticator 系统制作一个简单的身份验证系统 但我遇到了一个问题 当用户填写登录名 密码并提交输入时 出现以下错误 在会话中找不到 CSR
  • 如何更新 SQL 中游标获取的列

    在进一步讨论之前 是的 我知道与基于集合的操作相比 游标的性能很差 在这种特殊情况下 我在包含 100 条左右记录的临时表上运行游标 并且该临时表始终相当小 因此性能不如灵活性那么重要 我的困难是我无法找到如何更新游标获取的列的示例 以前
  • 在 Git 中运行预提交挂钩。有没有办法验证脚本是否正在运行?

    我想运行 Git 按照博客的建议 我使用了 git init初始化存储库 然后 git在 hooks 目录中存在钩子的位置创建文件夹 然后按照我重命名的脚本的建议pre commit sample as pre commit它不起作用 所以
  • 如何在Qt中保存对话框的状态?

    假设对话框中有复选框 选项等控件 如何在 Qt 中保存对话框的状态 我应该使用 QSettings 还是其他东西 Thanks 我遇到了同样的问题 谷歌搜索并没有太大帮助 所以最后我写了自己的解决方案 我创建了一组函数 用于在创建和销毁时读
  • Keras:为什么损失函数必须为每个批次项返回一个标量,而不仅仅是一个标量?

    我正在 Keras 中编写一个自定义损失函数 但遇到了以下问题 为什么 Keras 损失函数必须为每个批次项返回一个标量 而不是仅返回一个标量 我关心的是整批的累计损失 而不是每件商品的损失 不是吗 我想我已经明白了 fit 有争论samp
  • 更好地理解 C# 泛型

    我查看了一些使用 C 泛型的示例代码 为什么以及何时应该使用它们 所有的例子都很复杂 我需要一个简单 清晰的示例来帮助我开始使用 C 泛型 一个非常简单的例子是通用的List
  • 使用 PHP 5.5 安装 xdebug

    我读了很多答案 但不明白为什么 xdebug 不起作用 php ini xdebug zend extension usr lib php5 20090626 xdebug so php v PHP 5 5 6 1 debphp org p
  • Docker 容器未开始给出“OCI 运行时创建失败”

    我已经安装了Docker版本 https docs docker com release notes 17 12 0 ce 构建 c97c6d6当我尝试启动任何容器时 出现以下错误 docker 来自守护进程的错误响应 OCI运行时创建失败
  • 在像素着色器中计算世界空间坐标

    我有一个像素着色器 我想根据我的世界空间坐标计算每个像素的位置 我该怎么做 我需要什么 我有一个ps input具有 float4 位置的结构 SV POSITION 我认为这很重要 但存储在里面的值似乎有点有趣 我似乎无法弄清楚它们有什么
  • Liferay 连接和压缩 javascript

    我试图弄清楚如何实现所有 js 文件的压缩和缩小 目前我将它们放在一个钩子插件中 html js mycustomjs folder 我知道liferay有自己的机制来压缩javascripts 在barebone jsp或 everyth
  • 在 MacOSX 上,当指定无效的身份验证凭据时,QNetworkAccessManager 会进入无限循环

    在我的跨平台应用程序中 我使用 QNetworkAccessManager 将 HTTP 请求发送到需要身份验证的 HTTP 服务 我最近升级到 QT5 令我完全惊讶的是 在 MacOSX 上 我的应用程序会在某些情况下尽快向我的服务发送大
  • 合理化我的简单 OpenCL 内核中有关全局内存的情况

    const char programSource kernel void vecAdd global int a global int b global int c int gid get global id 0 for int i 0 i
  • CodeIgniter Active Record 一次删除多条记录

    这是我的控制器功能之一 它从名为 users 的数据库表中获取所有行并将其放入数组中 然后它加载一个名为 deleteuser 的视图以及传递的数组数据 function deleteuser this gt load gt model u
  • 如何使用鼠标手动放置 networkx 节点?

    我有一个相当大且混乱的节点网络 我希望尽可能整齐地显示它 This is how it s currently being displayed 首先 我尝试调整布局 看看它是否可以自动生成良好的输出 我尝试了许多不同的 nx 布局 但它们都
  • 谷歌应用程序引擎Python第一次上传应用程序

    我第一次尝试上传我的应用程序引擎项目 但我不知道为什么它不起作用 我的终端的错误是 me Desktop appcfg py update ProjectDir Application tacticalagentz version 1 Ho
  • 运行脚本来重命名 txt 文件中的几个单词

    我需要你的帮助 我的目录 文件夹 中有一个 txt 文件 需要运行脚本来重命名几个单词 例如 其中 LX4XAB 到 LX4xab XS3X44 到 Xs3x44 在哪里 另一个词 直到最后用另一个名称保存文件 你能帮助我吗 谢谢 干得好
  • Node 中express.js 和 axios.js 的区别

    我们使用axios来进行get post等http请求 我们也出于同样的目的使用快递 然而 根据我读到的内容 它们有不同的目的 请解释一下如何 PS 如果能举例说明就太好了 你可以将express js视为一个仓库 app get item
  • 从 LinkedHashMap 中检索值

    我有一个看起来像这样的对象 test1 get tags restcalls test2 put tags restcalls 我正在检索上面的对象 如下所示 HashMap json new ObjectMapper readValue
  • Java 2D 图像调整大小忽略双三次/双线性插值渲染提示(OS X + linux)

    我正在尝试使用 Image Voodoo 插件在 JRuby Rails 应用程序中为上传的图像创建缩略图 问题是调整大小的缩略图看起来像 屁股 似乎生成缩略图的代码绝对正确地执行了所有操作 将插值渲染提示设置为 双三次 但在我们的开发环境
  • 什么是 Firebase 远程配置开发者模式

    我正在将 Firebase 远程配置添加到应用程序中 但我对其用途感到困惑 setMinimumFetchIntervalInSeconds setDeveloperModeEnabled true false 文档讨论了开发人员模式 但我