是否可以在设备上未安装 Google Play 服务 (aosp) 的情况下使用 Firebase 远程配置?
我确实在我的 android 项目中遵循了这个设置:(通过https://firebase.google.com/docs/android/setup):
- 添加了类路径'com.google.gms:google-services:4.3.3' 进入主 gradle 文件
- 添加实施'com.google.firebase:firebase-config:19.1.3' and '应用插件:'com.google.gms.google-services'' 进入应用程序 gradle 文件
它确实可以编译,但是当我最初启动应用程序时 fetchAndActivate 没有成功,因为调用后任务结果为fetch()
:
MISSING_INSTANCEID_SERVICE(无法获取用于提取的 Firebase 实例 ID 令牌)
firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings.Builder configBuilder = new FirebaseRemoteConfigSettings.Builder();
configBuilder.setMinimumFetchIntervalInSeconds(3600);
firebaseRemoteConfig.setConfigSettingsAsync(configBuilder.build());
HashMap<String, Object> defaults = new HashMap<>();
defaults.put("variant", "basic");
startActivity(new Intent(getApplicationContext(), CarLauncherBasic.class));
firebaseRemoteConfig.setDefaultsAsync(defaults);
firebaseRemoteConfig.fetchAndActivate()
.addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) {
boolean updated = task.getResult();
Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Fetch failed",
Toast.LENGTH_SHORT).show();
}
String variant = firebaseRemoteConfig.getString("variant");
//
}
});
}
火力战士在这里
Firebase 远程配置不再依赖于 Google Play 服务,并且可以在任何 Android 安装上使用。
有关无需 Play 服务即可使用的 Firebase 服务的最新列表,请参阅Firebase Android SDK 对 Google Play 服务的依赖关系在 Firebase 文档中。
之前的答案已经过时:
遗憾的是,远程配置目前依赖于设备上安装的 Google Play 服务。
不过,这种依赖是间接的、传递性的,这就是为什么我(实际上:我们,作为多个人都陷入了同一个兔子洞)最初忽略了它。
好消息是,许多 Firebase 服务正在迁移到名为 Firebase Installation Service 的新服务,该服务不再依赖于 Google Play 服务。但目前还没有远程配置何时不再具有这种依赖性的时间表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)