Firebase-config 在android中的使用
说明
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应用。
如上,首先创建一个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/
Firebase-config 在android中的使用的更多相关文章
- Android中数据存储(一)
国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- android 中获取视频文件的缩略图(非原创)
在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...
- Android中图片的处理(放大缩小,去色,转换格式,增加水印等)(转)
原文地址:http://menxu.lofter.com/post/164b9d_3ebf79 package com.teamkn.base.utils; import java.io.ByteAr ...
- 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析
原文:关于Android中图片大小.内存占用与drawable文件夹关系的研究与分析 相关: Android drawable微技巧,你所不知道的drawable的那些细节 经常会有朋友问我这个问题: ...
- Android中加载位图的方法
Android中加载位图的关键的代码: AssetManager assets =context.getAssets(); //用一个AssetManager 对象来从应用程序包的已编译资源中为工程加 ...
- Android笔记——Android中数据的存储方式(一)
Android中数据的存储方式 对于开发平台来讲,如果对数据的存储有良好的支持,那么对应用程序的开发将会有很大的促进作用. 总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其 ...
- Android中直播视频技术探究之---采集摄像头Camera视频源数据进行推流(采用金山云SDK)
一.前言 在之前已经详细介绍了Android中的一种视频数据源:Camera,不了解的同学可以点击进入:Android中Camera使用详解 ,在这篇文章中我们介绍了如何采集摄像头的每一帧数据,然后进 ...
- Android 中View的绘制机制源代码分析 三
到眼下为止,measure过程已经解说完了,今天開始我们就来学习layout过程.只是在学习layout过程之前.大家有没有发现我换了编辑器,哈哈.最终下定决心从Html编辑器切换为markdown编 ...
- Android 中的WiFi剖析
Android的WiFi 我们通常看到WiFi的守护进程wpa_supplicant在我们的ps的进程列表中,这个就是我们的wifi守护进程.wpa_supplicant在external/wpa_s ...
随机推荐
- Hbase数据结构和shell操作
Hbase的数据结构 基本要素:命名空间.表.行.列.单元格,region,时间戳. 1.命名空间:NameSpaces的作用 Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果 ...
- PostgreSQL 表字段起别名
使用Postgreq Sql 表字段起别名时注意要用双引号,使用单引号会出现语法错误,执行结果如图
- ES6-Symbol的用法 ,symbol在对象中的应用,改变值
ES6-Symbol的用法,,symbol在对象中的应用,改变值 let a = new String; let b = new Number; let c = new Boolean; let d ...
- 如何搭建node - express 项目
基于博主也是个菜鸟,亲身体验后步骤如下: 首先,我们需要安装node.js, https://www.runoob.com/nodejs/nodejs-install-setup.html 安装完成 ...
- Cesium专栏-空间分析之坡度分析(附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置
通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...
- 安装上传下载插件,jdk及redis
安装rz sz (1)编译安装root 账号登陆后,依次执行以下命令:cd /tmpwget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gzt ...
- JS关于日期格式转换的问题
写Js时,有个地方用到日期,要求是yyyy--MM--dd的格式,于是想到了format函数,下面介绍了时间函数的定义,和调用前引入函数和如何格式化自己想要的日期格式. //当前时间 var Time ...
- 修改uid gid 的起始范围
UID_MAX 60000 # # Min/max values for automatic gid selection in groupadd # GID_MIN 500 GID_MAX 60000 ...
- driver.find_element_by_xpath.clear()无法清空输入框默认值
输入框带默认值,想删除默认值,填写新内容,使用clear()再send_keys(), 发现这种方式无法清除,只会在默认值后面追加新的内容. 上网搜了一下,有两种解决方案,如下: 方法一: 先双击,后 ...