Firebase初步了解

什么事Firebase?
Firebase成立于2011年,在被Google收购之前,Firebase是一个协助开发者快速构建App,能够提供行动应用专用开发平台及SDK的一款产品,简单的说大概就是一套集成后台服务工具。早在2014年,谷歌收购了Firebase,这主要是一种面向应用程序开发人员的数据库。Firebase基本上向广大的应用程序开发人员提供不同的服务,比如存储、消息传递、通知和身份验证等服务。
在今年的I/O大会上,谷歌发表了新版的Firebase,新的Firebase整并Google既有的云端服务与工具,扩大支援更全面的功能,涵盖开发、成长与营收三阶段,并整合分析工具,其分析工具专为App所设计,并以事件和使用者分析为主。在开发阶段所提供的后端服务,包括即时资料库(Realtime database)、身分验证(Authentication)、主机(Hosting)、储存(Storage)、云端讯息(Cloud Messaging)及远端配置(Remote Config)等后端服务,并提供Android测试实验室(Test Lab for Android),以及当机报告等管理App品质的服务。

Firebase基本功能

根据官方文档的介绍,根据网络的一些介绍,整理了一下Firebase的基本功能。

一、数据分析工具

Firebase 的核心是 Firebase Analytics,这是一项免费且无限制的分析解决方案。从单一信息中心查看用户行为和衡量行为特性,可以查看包括日活,留存,用户的地理位置分布,用户,设备信息等信息。
在Anlytics还提供了一系列其他分析,一下是一个demo的截图:

二、开发

云消息传递(Firebase Cloud Messaging)
可以通过后台服务向用户推送消息,对于即时通讯等用例,一条消息可以将最大 4KB 的负载传送至客户端应用。

身份验证(Firebase Authentication)
可以使用 FirebaseUI 作为一种完整访客身份验证解决方案,实现支持电子邮件与密码、Facebook、Twitter、GitHub 和 Google Sign-In 的整套身份验证系统

实时数据库(Firebase Realtime Database)
云托管 NoSQL 数据库,数据为JSON形式,设备离线可以使用数据,具有同步功能,恢复链接时可以上传回服务器。

存储(Firebase Storage)
Firebase Storage 由 Google Cloud Storage 提供支持,Firebase 应用提供安全的文件上传与下载。 可以使用它存储图片、音频、视频或其他用户生成的内容。

托管(Firebase Hosting)
为开发者提供的生产级网络内容托管。利用 Hosting,仅需一条命令,即可快速简单地将网络应用和静态内容部署到全球内容交付网络

远程配置(Firebase Remote Config)
可以通过该服务更改应用的外观和行为,无需用户下载应用更新。更新应用,无需部署新版本。

测试实验室(Firebase Test Lab for Android)
Firebase Test Lab for Android 提供了基于云的基础结构,用于测试 Android 应用。 通过一次操作,可以跨越各种各样的设备和设备配置发起应用测试。 在 Firebase console 中,可通过项目获取测试结果,包括日志、视频和屏幕截图。

奔溃报告(Firebase Crash Reporting)
根据频率和影响设定奔溃优先级,收集设备全面的奔溃信息,这个功能只需要接入firebase的Crash SDK,不需要添加其他的代码,他就可以自动收集app的奔溃信息,并上传到Firebase后台。

三、增长

通知(Firebase Notifications)
细分受众,轻松管理推送信息

索引(Firebase App Indexing)
Firebase App Indexing(其前身为 Google App Indexing)可将应用纳入 Google 搜索。 如果当用户搜索相关内容时已安装应用,则他们可以直接从搜索结果中启动应用。 如果用户还未安装应用,则将在搜索结果中显示安装卡片。添加 App Indexing 推广 Google 搜索内的应用结果类型,并提供查询自动填充功能。

动态链接(Firebase Dynamic Links)
Firebase Dynamic Links动态链接是指能够动态更改其行为以便在不同的平台上提供最佳体验的智能网址。无论用户是全新用户还是长期客户,动态链接都能指引用户完成应用安装流程结束并将用户引导至相关的内容。

邀请(Firebase Invites)
Firebase Invites 是用于发送个性化电子邮件和短信分享应用

在线广告(Google AdWords)
优化广告,促成安装,获取广告转化率的深入数据分析,有针对性地开展广告活动,使用 Firebase Analytics 目标设备吸引您的用户群

三、Firebase在Android中的应用


打开最新的Android studio可以看到系统为我们集成了firebase。

首先Android要使用Firebase,Android需安装Google Repository,然后点击Tools > Firebase打开Assistant窗口,选择展开的功能列表中的一项功能(例如,Analytics),然后点击Get Started来连接Firebase并且将相应的代码添加到你的app中。

使用实例:

打开Firebase窗口

选择某一项服务如Log an Analytics event

选择Connect to Firebase注册账号,如果有的话不管。

注册登录后选择Create Project >输入项目名称>创建> Analytics > 开始使用

然后我们在弹出的窗口中选择Add Analytics to your app

这时候我们需要在我们的app端添加如下的代码:

在Activity中进行声明:

private FirebaseAnalytics mFirebaseAnalytics;    

在onCreate中初始化

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

完整代码如下图;



  这时候我们就可以在我们的服务端(控制端查看数据了)。

Firebase在服务端的配置

首先为APP建立个云后端,登陆[FireBase官网]https://www.firebase.com/,注册账号,注册完后,会有这个提示。

要参观就选第一个,不旅游呢,就点击Skip Tour,参观完,或者跳过,在浏览器左下方会出现这样的一排东西,最左侧是新建App后端,右侧是建好的。

然后直接运行就好了。

Android Firebase 服务简介的更多相关文章

  1. android Service服务简介(一)

    作为android的四大组件之一,服务也少不了很多重要的知识点.下面我们从最基本的开始学习. 1.1服务的创建 首先创建一个ServiceTest类继承Service.我们会重写onCreate(), ...

  2. 3D语音天气球(源码分享)——在Unity中使用Android语音服务

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...

  3. 【Android 系统开发】 Android 系统启动流程简介

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3889548 ...

  4. Android Service 服务(三)—— bindService与remoteService

    (转自:http://blog.csdn.net/ithomer/article/details/7366396)   一.bindService简介 bindService是绑定Service服务, ...

  5. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  6. Android资源文件简介

    Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源 ...

  7. Android Action Bar简介

    Android Action Bar简介 Design: Action Bar Action Bar是在屏幕顶端的一部分内容,通常在整个app进行中都保持存在. 它提供了几个关键的功能: 1.使得重要 ...

  8. eclipse安装androidSDK地址,Android SDK Manager简介

    eclipse安装android插件地址:https://dl-ssl.google.com/android/eclipse 这个和安装其他插件方式一样:Help—Install New Softwa ...

  9. Android从服务端获取json解析显示在客户端上面

    Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Jso ...

随机推荐

  1. ios开发-将false和true,当做字典的值,并将字典转成字符串,上传到服务器

    今天遇到一个需求,将false和true,当做字典的值,并将字典转成字符串,上传到服务器. 可能这个需求大家遇到过,大部分原因是安卓的同事已经按这样的需求开发完了.我们只能跟随安卓的脚步了. (一)处 ...

  2. [HAOI 2008]硬币购物

    Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请问每次有多少种付款方法. Input 第一 ...

  3. bzoj 3751: [NOIP2014]解方程

    Description 已知多项式方程: a0+a1x+a2x^2+...+an*x^n=0 求这个方程在[1,m]内的整数解(n和m均为正整数). 解题报告: 这题比较诡,看到高精度做不了,就要想到 ...

  4. SPOJ PHRASES 每个字符串至少出现两次且不重叠的最长子串

    Description You are the King of Byteland. Your agents have just intercepted a batch of encrypted ene ...

  5. 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...

  6. SpringBoot中跨域问题

    项目中经常会遇到浏览器跨域的问题,解决方式在启动类中配置 @Bean public FilterRegistrationBean corsFilter() { UrlBasedCorsConfigur ...

  7. numpy.squeeze()是干啥的

    例子: a = 3 print np.squeeze(a) # 输出3 a = [3] print np.squeeze(a) # 输出3 a = [[3]] print np.squeeze(a) ...

  8. ubuntu批量更改文件权限

    重装系统之后,把文件从windows分区拷到linux分区发现所有文件的权限全是777,在终端下看到所有文件的颜色都很刺眼,文件有很多,一个一个改不现实,所以写了一段python脚本批量更改文件权限. ...

  9. 学习ASP.NET Core Razor 编程系列七——修改列表页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  10. __str__与__repr__

    在讲解之前,我们先来了解下str和repr的区别:两者都是用来将数字,列表等类型的数据转化为字符串的形式.不同之处在于str更加类似于C语言中使用printf输出的内容,而repr输出的内容会直接将变 ...