Firebase 实时数据库是一种托管在云端的数据库。数据以 JSON 格式存储并实时同步到所连接的每个客户端。当您使用我们的 Android、iOS 和 JavaScript SDK 构建跨平台应用时,所有客户端都共享一个 Realtime Database 实例并自动接收包含最新数据的更新。
Firebase Realtime Database 适用于所有 Apple 平台,包括 iOS、macOS、macOS Catalyst、tvOS 和 watchOS。它不适用于轻 App (App Clip)。虽然本页具体示例中的设置说明提及的均为 iOS,但这些说明是通用的,适用于所有 Apple 目标平台。
前提条件
- 安装 Firebase SDK。
- 在 Firebase 控制台中将您的应用添加到您的 Firebase 项目。
创建数据库
进入 Firebase 控制台的 Realtime Database 部分。 系统将会提示您选择一个现有的 Firebase 项目。按照数据库创建工作流操作。
为您的 Firebase 安全规则选择一个初始模式:
- 测试模式
此模式适合刚开始使用移动和 Web 客户端库的开发者,但会允许任何人读取和覆盖您的数据。测试完成后,请务必查看了解 Firebase Realtime Database 规则部分。
如果是刚开始使用 Web、Apple 或 Android SDK,请选择测试模式。
- 锁定模式
拒绝来自移动和 Web 客户端的所有读写操作。经过身份验证的应用服务器仍然可以访问您的数据库。
为数据库选择位置。
新数据库的网址将采用下列格式之一,具体取决于数据库的位置:
(位于DATABASE_NAME.firebaseio.com
us-central1
的数据库) (位于所有其他位置的数据库)DATABASE_NAME.REGION.firebasedatabase.app
点击完成。
如果启用 Realtime Database,也就在 Cloud API 管理器中启用了相应 API。
将 Firebase Realtime Database 添加至您的应用
使用 Swift Package Manager 安装和管理 Firebase 依赖项。
- 在 Xcode 中打开您的应用项目,依次点击 File(文件)> Add Packages(添加软件包)。
- 出现提示时,添加 Firebase Apple 平台 SDK 代码库:
- 选择 Realtime Database 库。
- 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。
https://github.com/firebase/firebase-ios-sdk
配置 Realtime Database 安全规则
Realtime Database 提供了声明性规则语言,可用于定义数据的结构、将数据编入索引的方式,以及何时可以在其中读取和写入数据。
设置 Firebase Realtime Database
您必须先初始化 Firebase,然后才能创建或使用 Firebase 应用引用 (reference)。如果您已为其他 Firebase 功能执行此操作,可以忽略此步骤。
- 在
UIApplicationDelegate
中导入FirebaseCore
模块,以及您的应用委托 (app delegate) 使用的所有其他 Firebase 模块。 例如,如需使用 Cloud Firestore 和 Authentication,请添加以下代码:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- 在应用委托的
application(_:didFinishLaunchingWithOptions:)
方法中配置一个FirebaseApp
共享实例:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- 如果您使用的是 SwiftUI,则必须创建应用委托并通过
UIApplicationDelegateAdaptor
或NSApplicationDelegateAdaptor
将其附加到App
结构体。您还必须停用应用委托调配。如需了解详情,请参阅 SwiftUI 说明。SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- 创建对您数据库的引用并指定要写入数据的位置。
Swift
注意:此 Firebase 产品不适用于 App Clip 目标。var ref: DatabaseReference! ref = Database.database().reference()
Objective-C
注意:此 Firebase 产品不适用于 App Clip 目标。@property (strong, nonatomic) FIRDatabaseReference *ref; self.ref = [[FIRDatabase database] reference];
后续步骤
了解如何为 Realtime Database 设计数据结构。
准备启动您的应用:
启用 App Check,以确保只有您的应用可以访问您的数据库。
在 Google Cloud 控制台中,为您的项目设置预算提醒。
在 Firebase 控制台中监控“用量和结算”信息中心,以全面了解您的项目在多个 Firebase 服务中的用量信息。您还可以访问 Realtime Database“使用量”信息中心,查看更详细的使用信息。
查看 Firebase 发布核对清单。