iOS+·iOS+·开始使用
Firebase Realtime Database 是一种托管在云端的数据库。数据以 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 Security Rules选择一个初始模式:
测试模式 : 此模式适合刚开始使用移动和 Web 客户端库的开发者,但会允许任何人读取和覆盖您的数据。测试完成后,请务必查看了解 Firebase Realtime Database 规则部分。 : 如果是刚开始使用 Web、Apple 或 Android SDK,请选择测试模式。
锁定模式 : 拒绝来自移动和 Web 客户端的所有读写操作。经过身份验证的应用服务器仍然可以访问您的数据库。 3. 为数据库选择位置。
新数据库的网址将采用下列格式之一,具体取决于数据库的位置:
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 代码库:
https://github.com/firebase/firebase-ios-sdk.git
- 选择 Realtime Database 库。
- 将
-ObjC标志添加到目标 build 设置的“其他链接器标志”部分。 - 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。
配置 Realtime Database Security Rules
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;
// ...
2. 在应用委托的 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];
3. 如果您使用的是 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()
}
}
}
} ``` 4. 创建对您数据库的引用并指定要写入数据的位置。
### 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 设计数据结构。
- 将数据扩充到多个数据库实例。
- 读取和写入数据。
- 在 Firebase 控制台中查看您的数据库。
-
准备启动您的应用:
-
启用 App Check,以帮助确保只有您的应用可以访问您的数据库。
- 在 Google Cloud 控制台中为您的项目设置预算提醒。
- 在 Firebase 控制台中监控“用量和结算”信息中心,以全面了解您的项目在多个 Firebase 服务中的用量信息。您还可以访问 Realtime Database 使用量信息中心,以了解更详细的使用情况信息。
- 查看 Firebase 发布核对清单。
