Firebase-config 在android中的使用

来源:互联网 发布:数据库添加语句 编辑:程序博客网 时间:2020/11/30 09:35

说明

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应用。

  • 创建项目,创建地址:/config”>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();//设置配置settingsmFirebaseRemoteConfig.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/

Enjoytoday,EnjoyCoding