说明
firebase-config
提供远程配置方案,可以通过远程控制app
的基本配置方案更换工作。如在特定时间更换不同的App
基础配色反感,更换基础显示图标等。
firebase-config
firebase-config
的使用也较为简单,首先为了让其支持firebase-config
支持远程配置,需要在firebase
官网创建一个app
并配置其remote config
模块。然后需要在你创建的包名的apk
中配置支持firebase sdk
并添加firebase-config
依赖,如此即可正常使用firebase-config
功能。如下,会仔细介绍具体的操作工程和如何配置一个简单的firebase-config
.
1. 创建firebase 应用
首先需要登陆firebase
官网,创建一个firebase
应用。
- 创建项目,创建地址:
https://console.firebase.google.com/project/_/config
如上,首先创建一个app testOnly
,创建成功后会进入app
的配置节目,点击Overview
,在右侧内容部分选择将firebase添加到您的 Android
应用中,配置应用包名以及签名证书的sha1
.配置完成后会生成一个 google-services.json
文件,需要下载下来放在你创建应用工程的根目录,as
的app
目录下,该文件是为了让应用 添加firebase
支持。
- 配置参数
完成基础的firebase
支持配置后,选择左侧的Remote Config
选项卡,创建远程配置参数(参数类型的获取可以自定义通过语言、应用版本等定义参数值),界面如下:
添加或者修改完毕后通过点击右上侧发布更新用于更新firebase-config
配置并应用到配置.
2. 配置并使用在android 应用
该部分分为两个步骤:一个是添加配置,一个是app调用。
- 添加配置
配置添加首先为了让其支持firebase
,需要添加firebase
插件的classpath
并添加plugin
,其次是添加firebase-config
依赖,基本配置在build.gralde
中如下:
buildscript {
repositories {
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:3.1.0' //firebase 添加
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
......
compile 'com.google.firebase:firebase-config:11.0.1' //firebase-config依赖
......
}
apply plugin: 'com.google.gms.google-services' //添加插件,注意放在build.gradle底部.
- 使用
使用较为简单,由于使用的时候可能村子阿由于网络或者其他因素导致无法获取远程配置信息的情况。所以,我们需要在使用前创建一个默认的配置参数。在res/xml
下创建一个默认配置文件,名称可以自定义,配置内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- START xml_defaults -->
<defaultsMap>
<entry>
<key>type</key>
<value>其他</value>
</entry>
<entry>
<key>baseColor</key>
<value>#aaaaaa</value>
</entry>
</defaultsMap>
接下来就可以通过在java
中获取配置信息来随即使用了,获取配置信息如下:
private void getRemoteConfig(){
//获取配置实例
FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
//创建配置setting,可以在此设置开发者模式,增加获取成功率
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.build();
//设置配置settings
mFirebaseRemoteConfig.setConfigSettings(configSettings);
//设置默认配置文件,就是上面的配置文件
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defautls);
//通过fetch拉取远程配置资源后接参数时间,添加完成监听,也可通过添加addOnSuccessListener等监听
mFirebaseRemoteConfig.fetch(0).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
//获取远程配置成功
if (task.isSuccessful()){
//添加远程配置获取激活方法,可正常访问远程配置信息,必须调用
mFirebaseRemoteConfig.activateFetched();
Log.e("test","get success.");
}else { //获取远程配置失败
Log.e("test","get failed. exception:"+task.getException().toString());
}
//或其基本配置信息
String type= mFirebaseRemoteConfig.getString("type");
String type= mFirebaseRemoteConfig.getString("baseColor");
}
});
}
如上,即为一个完成的firebase-config
创建、配置、使用的过程了。也可以直接访问firebase-cofig
官网配置文档,地址为:https://firebase.google.com/docs/remote-config/