与 FireBase 亲密接触

正常的 App 都是属于网络应用,数据都是从服务器上获取的。这就需要有专业的后台开发人员开发后台业务服务器,然后为我们 App 提供数据。自从云出现之后,各大云主机厂商提供了一个云服务 PAAS(Platform-as-a-Service的缩写),意思是平台即服务。PaaS是一个执行代码以及管理应用运行环境的开发平台,用户通过SVN或者Git之类的代码版本管理工具与平台交互。但这也是开发人员具备后台开发的能力。因此,

BaaS(Backend as a Service),后端即服务从此就诞生了。其旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。国内比较出名的厂商有友盟、BMob等,国外就 Firebase 名气比较大。

1

Firebase 介绍

FireBase功能众多,我们先来看一下官网给出的总结图

具体各个功能说明:

  • Analytics:Firebase的核心功能,这是一项免费且无限制的分析解决方案。从单一信息中心查看用户行为和衡量行为特性。
  • Firebase Cloud Messaging(FCM):是一个跨平台Android、iOS 和网站的解决方案,供我们免费可靠地发送和接收消息和通知。
  • Authentication:实现支持电子邮件与密码、Facebook、Twitter、GitHub 和 Google Sign-In 的整套身份验证系统。?轻松与我们的自定义身份验证服务集成,让我们的用户安全访问 Firebase 的许多其他功能。
  • Realtime Database:云托管 NoSQL 数据库。数据存储为 JSON,以毫秒速度跨连接设备同步,当您的应用处于离线状态时可以使用该数据。
  • Storage:直接从 Firebase 客户端 SDK 存储和检索用户生成的内容,如图片、音频和视频。
  • Hosting:生产级开发者托管。只用一个指令即可将网站和移动网站应用部署到全球内容交付网络 (CDN)。
  • Remote Config:更新我们的应用,无需部署新版本。快速向合适的用户传递合适的体验。
  • Test Lab:Firebase Test Lab for Android 提供了基于云的基础结构,用于测试 Android 应用。 通过一次操作,我们可以跨越各种各样的设备和设备配置发起应用测试。
  • Crash Reporting:在我们发布应用之后接收关于稳定性问题的可操作信息。
  • Notifications:轻松管理通知活动。安排和发送消息,以便在最适当的时间吸引合适的用户。
  • App Indexing:通过在 Google 搜索结果中显示相关应用内内容,帮助用户发现和再次使用您的应用。
  • Dynamic Links:动态链接是指能够动态更改其行为以便在不同的平台上提供最佳体验的智能网址。无论用户是全新用户还是长期客户,动态链接都能指引用户完成应用安装流程结束并将用户引导至相关的内容。
  • Invites:开箱即用的应用推荐和分享解决方案。让您的现有用户能够通过电子邮件或短信轻松分享您的应用及其喜爱的应用内内容。使用与宣传相结合,以增加吸引率和留存率。
  • AdWords:将 AdWords 自动链接至您在 Firebase Analytics 中定义的用户区段。改进广告目标并优化您的广告系列效果。
  • AdMob:在向用户提供极佳体验的同时通过您的应用获利。

2

环境要求

- 1)手机的系统版本要不低于 2.3(Gingerbread)

- 2)手机的 Google Play 服务版本要高于或等于 9.0

3

连接 App 到 Firebase

1)登录 Firebase 创建应用

当打开这页面,浏览到底部,点击“ 开始 ”创建应用

创建项目应用需要填写两个选项,其中的 项目名称 填写的是你 APP 的名称(注意不是 APP 的包名);国家/ 地区 就根据你所在国家进行填写,这样做的好处就是能根据当地的货币来分析你 APP 的收益情况。

2)将 Firebase 添加到 Android 应用

在新建项目之后,你会在左上角看到你项目名称,我新建的项目是 Game2048。Firebase 能应用到各个平台,例如 iOS、Web、Android平台。所以在新建项目之后,我们需要指定要应用到哪个平台。

填写你 App 相对于的包名以及签名证书

包名可以在 Modile 目录下的 build.gradle 中找到

我们可以使用 gradle 来获取获取签名,双击有变选项卡中的 signingReport 生成签名。

在运行结束之后,我们需要从 log 获取 SHA1。

3)将“google-services.json”文件移至 Android 应用模块的根目录中

4

添加 SDK

1)需要在项目工程的根级 build.gradle 文件添加一条规则,以包含 Google 服务插件:

2)在模块 Gradle 文件(通常为 app/build.gradle)中,在文件底部添加 apply plugin 行,以启用 Gradle 插件:

5

常用可用库

各种 Firebase 功能都可使用这些库

作者:猴哥,公众号:极客猴。爱好读书,喜欢钻研技术,梦想成为文艺青年的IT Boy。

- END -

原文发布于微信公众号 - 极客猴(Geek_monkey)

原文发表时间:2017-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯云数据库(TencentDB)

Redis数据库云端最佳技术实践

邹鹏,腾讯高级工程师,腾讯云数据库Redis负责人,多年数据库、网络安全研发经验。在网络、计算、存储、安全等领域有深入的研究和丰富的产品化经验。 在Redis、...

33290
来自专栏Java架构

了解为什么要使用微服务!单体的优缺点1、复杂性高2、交付效率低3、伸缩性(scalable)差4、可靠性差5、阻碍技术创新微服务的定义微服务的优点1、服务拆分2、数据一致性3、服务通信4、服务网关5、

47750
来自专栏Golang语言社区

微服务架构的优势与不足

英文原文:Introduction to Microservices   这篇文章作者是Chris Richardson,他是早期基于Java的Amazonit...

35450
来自专栏张戈的专栏

细说五层网站架构,了解我们的网站压力究竟在哪里?

目前网站架构一般分成网页缓存层、负载均衡层、 WEB 层和数据库层,我其实一般还会多加一层,即文件服务器层,这样我们在后面的讨论过程中,我们可以依次用这五层对网...

47670
来自专栏java工会

Js埋点与流量分析

页面埋点的作用,其实就是用于流量分析。而流量的意思,包含了很多:页面浏览数(PV)、独立访问者数量(UV)、IP、页面停留时间、页面操作时间、页面访问次数、按钮...

41910
来自专栏瓜大三哥

创建基本时钟周期约束

Xilinx建议把时序约束和物理约束分开来写。(但是必须有一个作为target) 时序约束用于综合和实现,物理约束用于实现。 1时钟周期 2占空比 3相位 ?...

21660
来自专栏恰童鞋骚年

操作系统核心原理-7.设备管理:I/O原理

  前面阐述了操作系统具有进程管理、内存管理、外存管理三大核心功能,但是计算机归根是为人类服务的,这就要求计算机必须提供某种机制使得人们可以向计算机发出命令或操...

11450
来自专栏EAWorld

告别微服务:究竟是千军易得还是一将难求

原题:Goodbye Microservices: From Hundreds of Problem Children to One Superstar

21740
来自专栏Rainbond开源「容器云平台」

【微服务】微服务实战(一):微服务架构的优势与不足

18830
来自专栏程序员的知识天地

Python自动化测试框架不知道有哪些?我都给你收集好了

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架,你可以使用这些框架,在调整特定测试适用性和效率参数后,测试你项目的任何模块。这节省了时间,而且...

14340

扫码关注云+社区

领取腾讯云代金券