📜  firebase 的小抄 (1)

📅  最后修改于: 2023-12-03 15:00:45.794000             🧑  作者: Mango

Firebase 的小抄

Firebase 是一个 Google 旗下的后端服务平台,提供了多种云服务和 SDK,方便开发者快速搭建和运营应用及扩展业务。

Firebase 的主要功能

Firebase 提供了以下主要功能:

  • 实时数据库
  • 静态托管
  • Firebase 分析
  • Firebase 身份验证
  • Firebase 配置
  • Firebase 云消息传递
  • Firebase 认证
  • Firebase 推送通知
  • Firebase 存储
  • Firebase 动态托管

其中,实时数据库、静态托管、Firebase 分析、Firebase 身份验证和 Firebase 存储是 Firebase 的核心功能。

Firebase 的优缺点
优点
  • 易用性高
  • 支持多平台
  • 支持多种开发语言
  • 提供了多种云服务和 SDK
  • 控制面板简单易用
  • 运行速度较快
  • 应用场景广泛
缺点
  • 成本高
  • 数据隐私和安全问题
Firebase 的使用
步骤一:创建 Firebase 项目

创建 Firebase 项目并添加应用,使用默认安全规则和数据库设置。

步骤二:添加 Firebase SDK

选择需要使用的 Firebase SDK,并将其添加到项目中。

步骤三:初始化 Firebase

在应用程序中初始化 Firebase SDK。

步骤四:使用 Firebase 功能

使用 Firebase SDK 提供的功能,包括实时数据库、静态托管、身份验证、云消息传递等。

Firebase 实时数据库

Firebase 实时数据库是一种实时、同步、NoSQL 数据库,可在 Android、iOS、Web 和 Node.js 应用中使用。

数据结构

实时数据库的数据结构为树形结构,由多个节点组成。

实时性

实时数据库支持实时更新数据,可以实时监听数据的变化,例如数据插入、数据更新、数据删除等。

安全性

支持安全规则并且可以设置读写权限。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/database';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const database = firebase.database();
  1. 写入数据:
database.ref('users').set({
  username: 'john_doe',
  email: 'johndoe@example.com'
});
  1. 读取数据:
database.ref('users').once('value').then(snapshot => {
  console.log(snapshot.val());
});
Firebase 静态托管

Firebase 静态托管是一种无服务器、快速部署 Web 页面的方式。

使用
  1. 安装 Firebase CLI:
npm install -g firebase-tools
  1. 初始化 Firebase 项目:
firebase init
  1. 部署静态文件:
firebase deploy
Firebase 分析

Firebase 分析是一种为应用提供详细分析数据的工具。

功能
  • 支持自定义事件
  • 支持自定义属性
  • 支持漏斗分析
  • 支持报表和图表
  • 支持实时数据
使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/analytics';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const analytics = firebase.analytics();
  1. 记录事件:
analytics.logEvent('login');
Firebase 身份验证

Firebase 身份验证是一种快速、安全的用户身份验证方式。

功能
  • 支持邮箱、谷歌等多种登录方式
  • 支持帐户管理
  • 支持密码重置
  • 支持密码更改
使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/auth';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const auth = firebase.auth();
  1. 注册用户:
auth.createUserWithEmailAndPassword(email, password)
  .then(userCredential => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 登录:
auth.signInWithEmailAndPassword(email, password)
  .then(userCredential => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 登出:
auth.signOut()
  .then(() => {
    // ...
  })
  .catch(error => {
    // ...
  });
Firebase 配置

Firebase 配置是一种启用和禁用应用程序功能的工具。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/remote-config';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const remoteConfig = firebase.remoteConfig();
  1. 加载配置:
remoteConfig.fetch()
  .then(() => {
    return remoteConfig.activate();
  })
  .then(() => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 获取配置:
const value = remoteConfig.getValue('key');
Firebase 云消息传递

Firebase 云消息传递是一种简化消息传递的工具。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/messaging';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const messaging = firebase.messaging();
  1. 请求通知权限:
messaging.requestPermission()
  .then(() => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 接收消息:
messaging.onMessage(payload => {
  console.log('Message received. ', payload);
});
Firebase 认证

Firebase 认证是一种为用户提供单点登录的身份验证方式。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/auth';
import 'firebaseui';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const auth = firebase.auth();
const ui = new firebaseui.auth.AuthUI(auth);
  1. 创建认证界面:
ui.start('#firebaseui-auth-container', {
  signInOptions: [
    firebase.auth.EmailAuthProvider.PROVIDER_ID,
    firebase.auth.GoogleAuthProvider.PROVIDER_ID
  ],
  // ...
});
Firebase 推送通知

Firebase 推送通知是一种向用户发送消息的方式。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/messaging';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const messaging = firebase.messaging();
  1. 订阅主题:
messaging.subscribeToTopic('topic')
  .then(() => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 取消订阅:
messaging.unsubscribeFromTopic('topic')
  .then(() => {
    // ...
  })
  .catch(error => {
    // ...
  });
Firebase 存储

Firebase 存储是一种为应用提供文件存储服务的工具。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
import 'firebase/storage';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});

const storage = firebase.storage();
  1. 上传文件:
const ref = storage.ref().child('file.txt');
ref.put(file)
  .then(snapshot => {
    // ...
  })
  .catch(error => {
    // ...
  });
  1. 下载文件:
const ref = storage.ref().child('file.txt');
ref.getDownloadURL()
  .then(url => {
    // ...
  })
  .catch(error => {
    // ...
  });
Firebase 动态托管

Firebase 动态托管是一种为应用提供动态托管服务的工具。

使用
  1. 引入 Firebase SDK:
import firebase from 'firebase';
  1. 初始化 Firebase SDK:
firebase.initializeApp({
  // ...
});
  1. 部署托管:
firebase deploy --only hosting
结论

Firebase 是一个广泛用于构建 Web 和移动应用程序的强大后端服务平台。它提供了多种云服务和 SDK,方便开发者快速搭建和运营应用及扩展业务。通过使用 Firebase,开发者可以专注于应用程序开发,而不必关注底层的服务器架构和配置。