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 ...
随机推荐
- Selenium(十一):设置元素等待、上传文件、下载文件
1. 设置元素等待 前面我们接触了几个元素等待方法,sleep.implicitly_wait方法,这一章我们就来整体学一下. 现在大多数Web应用程序使用的都是AJAX技术.当浏览器加载页面时,页面 ...
- API统一管理平台-YApi
前言:开发过程中,会产生很多接口对接操作,这个时候可能需要一个接口管理平台管理已经开发好的接口方便业务对接. 一.概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员 ...
- Add a Class from the Business Class Library从业务类库添加类(EF)
In this lesson, you will learn how to use business classes from the Business Class Library as is. Fo ...
- 松软科技带你学开发:SQL--COUNT() 函数
SQL COUNT() 语法 SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入): SELECT COUNT(col ...
- numpy中array和matrix的区别
两者相似但执行相同的运算可能得到不同的结果 显然,array只能通过dot()实现"矩阵乘法",array的"*"运算实现的是两个纬度相同的"矩阵&q ...
- Apache限制虚拟主机最大连接数和带宽
1.下载所需安装包: 2.解压到服务器,编译安装: 安装中可能遇到的问题1 提示如下错误:/mnt/vdd/mod_bw.c: In function 'get_bw_rate':/mnt/v ...
- Fiddler安装
1.在网上搜一下fiddler的安装包,下载.下载完成能看到一个exe文件. 2.点击文件安装,同意,选择一个目录进行安装即可. 3.安装完成,打开应用是一个这样的界面. 需要安装包的下面评论.... ...
- linux环境搭配
1.linuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的Unix工具软件.应用程序和网络协议 ...
- CSP-S需备模板大全
CSP-S需备模板大全 谨以此文祝愿自己\(CSP-S\,\,2019\,\,\color{red}{RP++!!}\) 算法 二分 while(l<r) { int mid=(l+r+1)&g ...
- 4. 语义"陷阱"
1. 假定对于下标越界的数组元素取其地址也是非法的,那么对于本书3.6(该标题下为4.6)节中的bufwrite程序应该如何书写? void bufwrite(char *p, int n){ whi ...