RemoteConfig的Firebase API有几种按命名空间分配配置值的方法,例如(setDefaults(R.xml.rc_defaults, "Namespace")).我已经通过Android上的命名空间分离配置值,但是如何在Firebase控制台上按命名空间设置这些值以进行远程更新?
即使为RemoteConfig启用了调试,我仍然设法获得以下内容:
获取远程配置值时出错可选(错误域= com.google.remoteconfig.ErrorDomain代码= 8002"(null)"UserInfo = {error_throttled_end_time_seconds = 1483110267.054194})
这是我的调试代码:
let debug = FIRRemoteConfigSettings(developerModeEnabled: true)
FIRRemoteConfig.remoteConfig().configSettings = debug!
Run Code Online (Sandbox Code Playgroud)
上述不应该防止节流吗?
油门错误将保持多长时间?
我正在探索使用Firebase的"随机百分位用户"条件来定位客户群的不同部分进行A/B测试,并在查看Firebase远程配置参数和条件文档后提出一些问题:
根据该项目中定义的键,每个应用程序实例持久映射到随机整数或小数.
假设在卸载应用程序之前setUserProperty,所有生成的百分位(即没有键和键的百分位数)都会持续存在这样的值.这是正确的假设吗?
如果条件映射到<= 50的随机百分位数然后我将该条件更改为仅<= 10目标(但不修改与随机百分位数相关联的密钥),我预计11-50百分位现在匹配下一个条件(可能是默认值)但原始0到10百分位仍然应该符合条件.这些假设是否正确?
一旦为用户创建了随机百分位数,只要该百分位数的关键字没有改变,该值是否会在任何突变条件下持续存在?例如,对于关键"firebase_test"用户A,百分位值为47%.只要用户A不卸载应用程序,用户的百分位值将始终为47%"firebase_test".
FirebaseRemoteConfig单例是否执行任何值的持久性?我假设在缓存过期后获取将忽略先前由getValue方法返回的任何值,并简单地返回配置的最新值.
有没有办法打印出用户为给定键分配的百分位值(也没有键)?例如,呼叫mFirebaseRemoteConfig.getPercentile("firebase_test")将返回1.234.
谢谢!
Firebase 提供以下方法:
但是此列表中缺少 getInt(),我很好奇是否有原因?使用 Long 或 String 并强制转换/转换为 int 的首选方法是什么?
Firebase 远程配置是否有一些替代方案?我需要为中国市场提供一个应用程序,但我不确定它是否有效
当应用程序第一次打开时,我使用 Firebase 远程配置来获取数据。但问题是我无法在应用程序第一次启动时获取数据。onComplete()方法触发但不返回任何值。如果我关闭应用程序并再次运行,它会从远程配置返回值。
试图在onCreate(), onStart(), 中调用 fetch() onResume(),给它第二次延迟,postDelay()但仍然相同,初始 fetch 始终为空。我知道,远程配置具有setDefaults()在获取默认值之前存储默认值的方法,但是在应用程序内设置默认值并不是我想要的。
这是远程配置的工作方式还是我做错了什么?我发现的唯一解决方法是添加fetch()insideonResume()并再次调用 onResume() onCreate()。结果调用 onResume() 两次。第一次是安卓系统,第二次是代码。
有没有其他方法可以在第一次运行时强制远程配置获取数据?
更新
在从它获取新值之前,onComplete()我必须首先调用内部firebaseRemoteConfig.activateFetched();。
我想克隆一个现有的Firebase项目,让我们ProjectA将以前存在于Firebase控制台上的名称与一些远程配置数据命名为另一个新项目(没有任何远程配置数据),让我们为其命名ProjectB.
我的问题背后的想法是,目前我开发了一个使用google-service.json(Firebase配置文件)文件的Android应用程序ProjectA,因此我想创建/克隆一个新的Firebase项目ProjectB(注意:我不想要一个新的Firebase应用程序在相同的项目中)从完全相同的远程配置数据开始ProjectA,然后将google-service.json新的添加ProjectB到我的新Android应用程序.
我已经阅读了firebase-cli文档,但看起来它已经超出了它的范围.
有人完成了类似这样的事情或有一个想法我怎么能做到这一点?提前致谢!
作为将代码库升级到 Swift5 的一部分,我在我的项目中更新了 Firebase pod。之后,我开始收到如下警告。
isDeveloperModeEnabled已弃用:在开发过程中不再需要设置。有关其他详细信息,请参阅文档。
有人可以解释解决此问题的替代方法是什么
remoteConfig = RemoteConfig.remoteConfig()
let conSettings = RemoteConfigSettings(developerModeEnabled: true)
if TargetBuild.isProd {
remoteConfig.configSettings = RemoteConfigSettings()
} else if settings.isDeveloperModeEnabled {
remoteConfig.configSettings = conSettings
} else {
print("Could not set config settings")
}
Run Code Online (Sandbox Code Playgroud)
我需要解决上面代码中的警告。这是一个现有的代码库。当我进行全局搜索时,我没有看到这个值被使用。有人请帮助我
我正在尝试使用Firebase远程配置创建实验.标准如下: 它应仅针对未使用该应用程序的新用户(首次打开该应用程序)
现在进一步研究我发现有一个用户属性如下:
但是,实验窗口或在Firebase控制台中满足上述条件的类似属性中不提供此功能,如下所示:
我只能看到我的代码设置的用户属性.我能想到的一种方法是使用我尚未设置的自定义用户属性(但设置为null值),但我不知道如何做到这一点.
参考
https://support.google.com/firebase/answer/6317486?hl=zh-CN https://firebase.googleblog.com/2016/10/better-user-targeting-with-firebase.html
当我添加com.google.firebase:firebase-config:19.1.0使用 firebase 远程配置时出现此问题。
java.lang.RuntimeException: Duplicate class com.google.protobuf.AbstractMessageLite found in modules protobuf-java-2.5.0.jar (com.google.protobuf:protobuf-java:2.5.0) and protobuf-lite-3.0.1.jar (com.google.protobuf:protobuf-lite:3.0.1)
Run Code Online (Sandbox Code Playgroud)
我已经更新都firebase-analytics和google-play-services到最新版本。但问题仍然存在。但是当我将远程配置更改为旧版本时,18.0.0 or less它工作正常。但我想使用最新版本。我的依赖:
firebase_analytics : "com.google.firebase:firebase-analytics:17.2.2",
fcm : "com.google.firebase:firebase-messaging:20.1.0",
performance : "com.google.firebase:firebase-perf:19.0.0",
config : "com.google.firebase:firebase-config:19.0.0",
Run Code Online (Sandbox Code Playgroud)
也试图排除下面不起作用:
exclude group: 'com.google.protobuf', module: 'protobuf-lite'
exclude group: 'com.google.protobuf', module: 'protobuf-java'
Run Code Online (Sandbox Code Playgroud)