当前位置: 首页 > news >正文

Firebase常用功能和官方Demo简介

一、Firebase简介

Firebase刚开始是一家实时后端数据库创业公司,它能帮助开发者很快的写出Web端和移动端的应用。自2014年10月Google收购Firebase以来,用户可以在更方便地使用Firebase的同时,结合Google的云服务。现在的Firebase算是谷歌旗下的一个强大的工具,不过使用Firebase需要翻墙。

二、Firebase功能介绍

Firebase docs: https://firebase.google.com/docs/android/setup?hl=zh-cn

  1. App埋点:Analytics : 应用内数据上报,帮助分析用户在app内的行为

开发文档: https://firebase.google.com/docs/analytics?hl=zh-cn

Firebase 的核心是 Google Analytics,这是一种免费提供的无限分析解决方案。 Analytics 集成了多个 Firebase 功能,可为您提供最多 500 个不同事件的无限报告,您可以使用 Firebase SDK 定义这些事件。分析报告可帮助您清楚地了解用户的行为方式,从而使您能够就应用营销和性能优化做出明智的决策。

  1. 云消息推送:Firebase Cloud Message 即:FCM,帮助app推送通知

开发文档:https://firebase.google.com/docs/cloud-messaging?hl=zh-cn

Firebase 云消息传递 (FCM) 是一种跨平台消息传递解决方案,可让您免费可靠地发送消息。

使用 FCM,您可以通知客户端应用程序有新的电子邮件或其他数据可供同步。您可以发送通知消息以推动用户重新参与和保留。对于即时消息传递等用例,消息可以将高达 4000 字节的有效负载传输到客户端应用程序。重点是:FCM 支持Android,IOS,WEB,Flutter,Unity

  1. 身份验证:Authentication : 集成了多个三方登录

开发文档:https://firebase.google.com/docs/auth/?hl=zh-cn

方便的实现google登录,facebook登录,twitter登录,github登录,邮箱登录,电话登录以及自定义验证登录。大多数应用程序需要知道用户的身份。了解用户身份后,应用程序可以将用户数据安全地保存在云中,并在用户的所有设备上提供相同的个性化体验。

Firebase 身份验证提供后端服务、易于使用的 SDK 和现成的 UI 库来对应用的用户进行身份验证。它支持使用密码、电话号码、流行的联合身份提供商(如 Google、Facebook 和 Twitter 等)进行身份验证。

Firebase 身份验证与其他 Firebase 服务紧密集成,并利用 OAuth 2.0 和 OpenID Connect 等行业标准,因此可以轻松与自定义后端集成。

当您使用 Identity Platform 升级到 Firebase 身份验证时,您会解锁其他功能,例如多重身份验证、阻止功能、用户活动和审核日志记录、SAML 和通用 OpenID Connect 支持、多租户和企业级支持。

  1. 实时数据库:Realtime Database和最新的Firestore

开发文档:https://firebase.google.com/docs/database?hl=zh-cn

无需搭建服务器就能拥有一个实时的数据库,可以用来保存自己想要保存的任何数据。

NoSQL 云数据库存储和同步数据。数据在所有客户端之间实时同步,并且应用离线时仍然可用

Firebase 实时数据库是一个云托管数据库。数据以 JSON 格式存储并实时同步到每个连接的客户端。当您使时、Android 和 JavaScript SDK 构建跨平台应用程序时,所有客户端共享一个实时数据库实例并自动接收最新数据的更新。

  1. App崩溃报告:Firebase Crashlytics

开发文档:https://firebase.google.com/docs/crashlytics?hl=zh-cn

借助适用于 Apple、Android、Flutter 和 Unity 的强大崩溃报告解决方案,获得对应用程序问题的清晰、可操作的洞察。

Firebase Crashlytics 是一款轻量级的实时崩溃报告器,可帮助您跟踪、确定优先级并修复影响应用质量的稳定性问题。 Crashlytics 通过智能地对崩溃进行分组并突出显示导致它们的情况,可以节省故障排除时间。

找出特定的崩溃是否影响了很多用户。当问题的严重性突然增加时收到警报。找出导致崩溃的代码行。

  1. Firebase远程配置:Remote Config :远程配置

开发文档:https://firebase.google.com/docs/remote-config?hl=zh-cn

无需发布应用更新即可更改您应用的行为和外观,无需任何费用,每日活跃用户数量不受限制。

Firebase Remote Config 是一种云服务,可让您更改应用的行为和外观,而无需用户下载应用更新。使用远程配置时,创建应用内默认值来控制应用的行为和外观。然后,稍后可以使用 Firebase 控制台或远程配置后端 API 为所有应用用户或部分用户群覆盖应用内默认值。应用程序控制何时应用更新,并且它可以经常检查更新并应用它们,而对性能的影响可以忽略不计。

  1. Firebase A/B 测试 : 就是平常开发中的AB实验

开发文档:https://firebase.google.com/docs/ab-testing?hl=zh-cn

Firebase A/B 测试由Google Optimize提供支持,可轻松运行、分析和扩展产品和营销实验,从而优化应用体验。能够测试对应用程序的用户界面、功能或参与度活动的更改,以查看它们是否真的在您的关键指标(如收入和留存率)上发挥作用,然后再广泛推出。

A/B 测试与 FCM 一起使用,以便测试不同的营销信息,并与远程配置一起使用,以便应用程序中测试更改。

  1. 动态链接:Dynamic Link 类似 APPFly 的 DeepLink

开发文档:https://firebase.google.com/docs/dynamic-links?hl=zh-cn

Firebase Dynamic Links 是一种链接,可用于多种平台,无论用户是否已经安装了应用,这种链接都能按照期望的方式工作。

利用 Dynamic Links,用户可以在他们打开链接的平台上获得最佳体验。如果用户在 iOS 或 Android 上打开一个动态链接,可以直接跳转到您的原生应用中的链接内容。如果用户在桌面浏览器中打开相同的动态链接,可以跳转到您网站上的同等内容。

此外,无论应用是否已安装,动态链接都可以工作:如果用户在 iOS 或 Android 上打开一个动态链接,但还没有安装您的应用,则可以提示该用户安装您的应用;安装后,应用就会启动并可以访问该链接。

  1. 移动广告平台:Google AdMob

开发文档:https://firebase.google.com/docs/admob?hl=zh-cn

Google AdMob 是一种通过有针对性的应用内广告从移动应用中获利的简便方法

Google AdMob是一个移动广告平台,可以使用它从应用中创收。将 Firebase 与 AdMob 结合使用可为提供额外的应用程序使用数据和分析功能。

  1. 云存储 :Storage

开发文档:https://firebase.google.com/docs/storage?hl=zh-cn

Cloud Storage for Firebase 专为需要存储和提供用户生成内容(例如照片或视频)的应用开发者而构建。

Cloud Storage for Firebase 是一项功能强大、简单且经济高效的对象存储服务,专为 Google 规模而构建。无论网络质量如何,适用于 Cloud Storage 的 Firebase SDK 都会为您的 Firebase 应用的文件上传和下载增加 Google 安全性。

可以使用Firebase storage SDK 存储图像、音频、视频或其他用户生成的内容。在服务器上,可以使用Google Cloud Storage API访问相同的文件。

不过免费版最多保存1个G的文件。

  1. Firebase 机器学习

开发文档:https://firebase.google.com/docs/ml?hl=zh-cn

Firebase Machine Learning 是一款移动 SDK,它通过功能强大且易于使用的软件包将 Google 的机器学习专业知识引入到 Android 和 Apple 应用程序中。无论是机器学习的新手还是经验丰富的机器学习,都可以通过几行代码实现所需的功能。无需深入了解神经网络或模型优化即可上手。另一方面,如果大家是经验丰富的 ML 开发人员,Firebase ML 提供了方便的 API,可帮助在移动应用程序中使用自定义 TensorFlow Lite 模型。

开发者可以查看:ML Kit 。 ML Kit 适用于 iOS 和 Android,并具有适用于许多用例的 API:

  • 文字识别

  • 图片标注

  • 物体检测和跟踪

  • 人脸检测和轮廓追踪

  • 条码扫描

  • 语言识别

  • 翻译

  • 智能回复

三、Firebase 官方Demo

Firebase 官方 Github :https://github.com/firebase/quickstart-android

使用方法:Firebase的官方Demo并不是一个项目,而是很多个项目。查看某功能的Demo需要以下几步:

  1. 去Firebase后台创建项目:https://console.firebase.google.com/?hl=zh-cn

  1. 填写相关项目名字,包名,bundle 名字,安卓签名

  1. 下载google-service.json文件,添加到项目的app目录下即可运行Demo项目。

通过查看官方Demo,可以更快的了解Firebase的使用,方便我们学习Firebase的功能。

小伙伴加油💪💪💪

--至:大新

相关文章:

Firebase常用功能和官方Demo简介

一、Firebase简介Firebase刚开始是一家实时后端数据库创业公司,它能帮助开发者很快的写出Web端和移动端的应用。自2014年10月Google收购Firebase以来,用户可以在更方便地使用Firebase的同时,结合Google的云服务。现在的Firebase算是谷歌旗下的…...

MATLAB R2020a 与PreScan8.5.0 详细安装教程(图文版)

目录MATLAB安装PreScan安装每文一语MATLAB安装 MATLAB是一款数学软件,用于科学计算、数据分析和可视化等任务。以下是MATLAB的几个优势: 丰富的工具箱:MATLAB拥有多种工具箱,包括信号处理、图像处理、优化、控制系统等&#xff0…...

CNI 网络流量 4.3 Calico felix

文章目录felix 太重要了,单独一文搞懂它Felix是一个守护程序,在每个 endpoints 的节点上运行。Felix 负责编制路由和 ACL 规则等,以便为该主机上的 endpoints 资源正常运行提供所需的网络连接 主要实现一下工作 管理网络接口,Feli…...

超声波风速风向传感器的通讯协议

接线定义 1 电源正 棕色线 4 风向信号 2 电源负 黑色线 5 485A 蓝色线 3 风速信号 6 485B 灰色线 ⊙寄存器参数表 地址 访问权限 参数名称 数据解析方法 0x0000 R 风速 瞬时 *100 上报 0x0001 R 风向 原数上报 0x0002 R 最大风速 *100 上报 0x0003 R 平均风速 *100 上报 0x000…...

JVM笔记(8)—— 直接内存

一、什么是直接内存 直接内存不是虚拟机运行时数据区的一部分,是在运行时数据区外、直接向系统申请的内存空间。 通常,访问直接内存的速度会优于堆,读写性能更好。因此,出于性能考虑,读写频繁的场合可能会考虑使用直…...

Unity性能优化:如何优化Drawcall

前言 降低游戏的Drawcall,是渲染优化很重要的手段,接下来从以下4个方面来分析如何降低DrawCall: 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀 降低Drawcall的意义是什么?如何查看游戏的Drawca…...

类与对象(this 关键字、构造器)

目录一、面向对象二、类与对象三、对象内存图四、成员变量和局部变量区别五、this关键字六、构造器/构造方法一、面向对象 一种编程思想:也就是说我们要以何种思路,解决问题,以何种形式组织代码 当解决一个问题的时候,面向对象会把事物抽象成…...

[NOIP2002 普及组] 过河卒

题目描述: 棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表…...

redis事务和锁机制

目录 事务定义 事务操作命令 redis事务的错误处理 redis事务冲突问题 redis解决事务冲突的方法 Redis事务的三个特性 事务定义 redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序的执行。事务中在执行过程中,不会被其他客户…...

Java实例——线程

1、查看线程存活状态 Thread.isAlive() Thread.getName() public class MyThread extends Thread{Overridepublic void run() {for (int i 0; i < 10; i) {printMsg();}}public static void printMsg(){Thread thread Thread.currentThread();//Thread.getName() 获取线程…...

云计算学习课程——越来越重要的云安全

2023&#xff0c;越来越多的企业和组织正在或即将把核心系统和数据迁移上云端&#xff0c;其中以公有云和服务居多&#xff0c;那么就意味着在数据迁移的过程中会出现安全问题的几率更大。企业也越来越注重云安全体系&#xff0c;对我们云计算运维工程师来说&#xff0c;也是一…...

Android 高性能列表:RecyclerView + DiffUtil

文章目录背景介绍一般刷新 notifyDataSetChanged()局部刷新实现调用代码准备工作创建 MyDiffUtilCallback 类继承 DiffUtil.Callback 抽象类MyAdpter 类代码实现步骤总结通过 log 证实 diffutil 的局部刷新diffutil 优化后台线程参考主线程参考diff 更新优化后写法相关参考背景…...

为什么派生类的构造函数必须在初始化列表中调用基类的构造函数

调用派生类的构造函数时&#xff0c;可能会调用继承自基类的函数&#xff0c;也就可能会用到基类的数据成员&#xff0c;因此&#xff0c;调用派生类的构造函数时&#xff0c;必须确保继承自基类的数据成员已构造完毕&#xff0c;而将基类构造函数的调用写在初始化列表中&#…...

2023年2月初某企业网络工程师面试题【建议收藏】

拓扑图如下&#xff0c;主机A与主机B能互相通信&#xff0c;但是A不能ping通RA的F0接口&#xff0c;这是为什么&#xff1f;RA上f0接口上配置了ACL&#xff0c;禁止源ip为主机A&#xff0c;目的ip为RA f0的数据包的发送&#xff1b; 第一个路由器上只有到主机B网段的路由&#…...

分布式下(sso)单点登录

目录标题一、基于rediscookie的单点登录二、基于jwtcookie的单点登录一、基于rediscookie的单点登录 传统单机应用登录 传统单机应用&#xff0c;一般是结合session和cookie实现认证、授权。用户通过输入账号密码登录系统&#xff0c;登录成功后在系统创建一个session来保存用…...

PMP真的有那么厉害?你需要考PMP吗?

这个含金量是有的&#xff0c;是目前项目管理界含金量较高的证书&#xff0c;但也要分人&#xff0c; 因为这是职业证书&#xff0c;主要用于提高职场工作能力&#xff0c;不搞这一行的&#xff0c;PMP证书含金量再高也是一张废纸&#xff0c;可以看下下面这张图&#xff0c;这…...

高通平台开发系列讲解(WIFI篇)802.11 基本概念

文章目录 一、WLAN概述二、802.11发展历程三、802.11基本概念沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文将基于高通平台介绍802.11基本概念。 一、WLAN概述 WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通…...

扬帆优配|反弹涨超70%,昨收三连板,稀土行业或迎大事件

本年第一批稀土挖掘锻炼目标行将发放。 2月22日晚&#xff0c;东易日盛公告称&#xff0c;公司收到董事、副总经理兼财务总监李双侠出具的《关于未严格执行股份减持方案的致歉函》&#xff0c;其此次减持方案已施行结束&#xff0c;但在施行减持方案时&#xff0c;因操作失误&a…...

华为OD机试 - 工号不够用了(Java) | 机试题+算法思路+考点+代码解析 【2023】

工号不够用了 3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。 现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001&qu…...

Python学习-----lambda式匿名函数

目录 前言&#xff1a; 1.什么是lambda函数 2.使用示例 &#xff08;1&#xff09;示例1&#xff1a;与def对比 &#xff08;2&#xff09;示例2&#xff1a;与三目运算符 &#xff08;3&#xff09;示例3&#xff1a;lambda作为参数传入其他函数 &#xff08;4&#xff…...

华为OD机试真题Python实现【求解连续数列】真题+解题思路+代码(20222023)

求解连续数列 题目 已知连续正整数数列{K}=K1,K2,K3… Ki的各个数相加之和为S, i = N (0 < S < 100000, 0 < N < 100000), 求此数列K。 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 输入包含两个参数 连续正整数数…...

每日学术速递2.22

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.PriSTI: A Conditional Diffusion Framework for Spatiotemporal Imputation 标题&#xff1a;PriSTI&#xff1a;时空插补的条件扩散框架 作者&#xff1a;Mingzhe Liu, Han Huan…...

postgresql 数据库 主从切换 测试

postgresql 数据库 主从切换 测试 文章目录postgresql 数据库 主从切换 测试前言环境&#xff1a;主从切换1. 查看数据库状态&#xff1a;2. 备库切换主库3. 旧主库切换成备库&#xff1b;4 查看状态后记前言 因数据库等保需要&#xff0c;需要对老系统的数据库进行主从切换来…...

干旱预测方法总结及基于人工神经网络的干旱预测案例分析(MATLAB全代码)

本案例采用SPEI干旱指数&#xff0c;构建ANN和BP神经网络预测模型&#xff0c;并开展1~3个月预见期的干旱预测&#xff0c;对比分析干旱预测模型的适用性&#xff0c;为流域干旱预警和管理提供技术依据。 干旱预测 1 干旱预测方法 1.1 统计学干旱预测 根据历史降水或气温等…...

一篇文章弄清楚啥是数组和集合

数组和集合多语言都有&#xff0c;数组是集合的一种&#xff0c;是一种有序的集合&#xff0c;不面向对象&#xff0c;面向过程的也有。1.数组逻辑结构&#xff1a;线性的物理结构&#xff1a;顺序的存储结构申请内存&#xff1a;一次申请一大段连续的空间&#xff0c;一旦申请…...

计算机网络(五):三次握手和四次挥手,TCP,UDP,TIME-WAIT,CLOSE-WAIT,拥塞避免,

文章目录零. TCP和UDP的区别以及TCP详解TCP是如何保证可靠性的TCP超时重传的原理TCP最大连接数限制TCP流量控制和拥塞控制流量控制拥塞控制TCP粘包问题一、三次握手和四次挥手二、为什么要进行三次握手&#xff1f;两次握手可以吗&#xff1f;三、为什么要进行四次挥手&#xf…...

【数据结构】二叉树(C语言实现)

文章目录一、树的概念及结构1.树的概念2.树的相关概念名词3.树的表示4.树在实际中的运用二、二叉树概念及结构1.二叉树的概念2.特殊的二叉树3.二叉树的性质4.二叉树的存储结构三、二叉树链式结构的实现1.结构的定义2.构建二叉树3.二叉树前序遍历4.二叉树中序遍历5.二叉树后序遍…...

高级信息系统项目管理(高项 软考)原创论文——成本管理(2)

1、如果您想了解如何高分通过高级信息系统项目管理师(高项)你可以点击链接: 高级信息系统项目管理师(高项)高分通过经验分享_高项经验 2、如果您想了解更多的高级信息系统项目管理(高项 软考)原创论文,您可以点击链接:...

代码签名即将迎来一波新关注

在数字化高度发展的当下&#xff0c;个人隐私及信息安全保护已经成了大家关注的重点&#xff0c;包括日常使用的电脑软件&#xff0c;手机APP等&#xff0c;由于包含了大量的用户信息&#xff0c;已经成了重点关注对象&#xff0c;任何一个疏忽就可能泄露大量用户信息。所以权威…...

黑盒渗透盲打lampiao

一、查找主机ip&#xff0c;通过Nmap扫描工具排查出我的靶机的IP 为.134 python tools.py ip -i 192.168.12.0 -h 254 -l 1 二、扫描其他端口。 1898 三、查看网站漏洞情况&#xff0c;典型的漏洞特征 Ac扫描漏洞情况&#xff0c;利用典型的漏洞。 四、开始getshell 1、启动M…...