说到 Firebase,这是一个很长的“故事”。
所以我们打算分多次来讲(并不是因为懒)
在正式开始之前,先来看一下本次分享主要有哪些内容。第一个当然是要先搞懂到底什么是 Firebase?然后看一下 Firebase 到底有哪些特性?本文会列一些主要的特性,在 Firebase 如何帮助我们开发应用、提高应用质量以及扩大用户基础这三个维度中挑一些主要的功能进行讲解。最后我们会着重强调 Firebase 的一个核心亮点功能 —— Analytics,这是一个免费的功能,且非常强大,深受广大用户的喜欢。
Firebase的功能
虽然 Firebase 跟应用开发有关,但不是只有开发人员才用得到。通常使用 Firebase 的人,除了开发人员以外,还有运营人员,包括一些市场投放人员。Firebase 之所以拥有这么大的用户群体,与其自身的功能息息相关。
如下图👇,Firebase 的功能大致可以分为三类,从左至右,分别可以帮助用户构建应用、提升应用质量、增加应用使用人数。参照三类功能用群体从左至右大约分布为开发人员居多、应用运营人员、投放或市场人员。
揭开 Firebase 的神秘面纱
下面我们通过一个简单的例子来详细了解 Firebase 。假如有一天你有一个特别好的想法,并且具备了代码开发能力,你想要将这个想法变成一个应用,你需要思考的问题包括:是不是需要一些基础架构、数据存在哪里、似乎还需要一个服务器·····接下来你可能还要思考什么样的人会成为用户,这些用户是不是需要注册····这其实是一个认证健全的过程,但是这么多的事情似乎一下子就把研发的成本拔高了。
其实在这个场景中,我们说到的所需资源,在 Firebase 中 “ Build better apps ” 功能模块中已经全部提供了。Firebase 作为一个依托于谷歌云(GCP)的云端 PaaS 平台,所用到的也都是 GCP 的资源,至于如何收费,取决于用量多少,这也在很大程度上降低了使用门槛。
回到我们之前的场景,现在 APP 已经构建成功了,但是偶尔会出现一些卡顿、闪屏的情况,这样第二个模块 “ Improve app quality ” 就派上了用场,通过 Crashlytics 来分析崩溃,使用 Performance Monitor 监控指标,通过 Test Lab 在一些功能正式发布之前进行测试。
应用优化完成之后,需要考虑的问题也会更多,比如渠道买量如何衡量 ROI、如何提升 DAU、如何提升留存·····这个时候可以试试 Firebase 的第三类功能 “ Grow your App ” ,Analytics 可以帮助分析哪些措施或渠道可以有效提升用户增长,Cloud Messaging 可以通过信息推送提醒久未上线的用户上线活跃等等。
此外,Firebase 还有一个特别好用的工具:A/B test 。我们很难去猜测用户的心理,广告的频次、按钮的颜色、页面布局等等都会影响用户的体验感甚至影响应用的变现收入。通过 A/B test,选取小部分的用户,可以分析不同策略下用户的反馈。而具体如何更好的使用 Firebase 的 A/B test,我们会在下一篇文章中详细介绍。
Firebase的特点
在刚才的场景中,我们大约已经了解了 Firebase 作为 GCP 生态中的一部分,在应用的生命周期中可以发挥的重要作用,下面我们再来聊聊 Firebase 有哪些特点。
Forget about infrastructure
作为一个无服务器的 PaaS 层平台,使用者不需要关心服务器、网络甚至不需要去做运维,只需尽情使用就好。
Make smart, data-driven decisions
数据驱动决策,现在大家都有一个共识,决策应当依托于数据。通过 A/B test,数据会帮助使用者决定使用什么颜色的按钮、每天的广告频次、该用那一半的页面布局等等。
跨平台,良好的兼容性
如前文的场景中,用户可能有的使用苹果(iOS),有的使用安卓(Android),或者说还有一些别的应用想接入,他们可能使用的是C语言,或者是“ 调用 API ”的方式,Firebase 全都可以支持。
免费支持 一则 Firebase Google 本身就是免费的,二则 WebEye 作为谷歌云的高级合作伙伴,除了谷歌的支持以外,WebEye 也会24小时随时提供支持。
出场率较高的几大功能
了解了 Firebase 的特点之后,我们再回头说一下前文说到的三类功能。由于 Firebase 的功能比较多,我们这里主要介绍出场率较高的几个功能。
机器学习(ML, Machine Learning)
谷歌在人工智能领域/机器学习领域在世界范围内都是首屈一指的,Firebase 可以提供一个 Machine Learning 的 SDK,通过这个 SDK 可以非常方便地把谷歌强大的机器学习能力嵌入了 iOS/Android 系统中。如果您对机器学习还不是太深入,我们可以提供一些简单的使用方法;如果您是比较资深的 ML 专家,我们可以提供 API,您可以在里面做一些更深入的调用。
存储(Cloud Storage)
这是大家比较常用的计算存储,是一种对象存储,可以直接将我们在网上常用的视频、图片等进行存储,访问的时候只需要输入 http 地址。着重介绍一下,Cloud Storage 是分几种等级的,如果只是用来做备份或者做容灾,建议放在 Coldline;如果访问的频率稍微高一点,可以放在 Nearline;如果经常需要去访问,那就放在 Standard 里面。根据访问类型的不同,Firebase 提供了不同的存储等级,价格也是不一样的,可供灵活使用。
认证( Firebase Authentication)
在一款应用的研发过程中,认证是必不可少的环节。如果自己要开发一套健全的认证流程,复杂且工作量较大,通过 Firebase 的认证功能,可以大大简化这个环节。里面包含了 Google、Facebook 和 Twitter,如果你已经有了这些账号,可以直接使用这个账号登陆。
另外关于“ Improve App Quality ”,必须要说的首先是 Crashlytics ,该功能可以把系统发生的一些故障崩溃信息生成详细的 Log,还可以直接根据优先级和影响程度进行分组并给出建议。相较于 Crashlytics 帮助解决已经发生的问题,Performance Monitoring 则可以帮助监测应用指标,以充分了解应用运营状况。
总的来说,Firebase 的功能十分全面且强大。由于篇幅有限,今天先介绍到这里,下次我们会重点来聊聊 A/B test 的神奇之处。