Firebase Realtime Database – это облачная база данных. Данные хранятся в формате JSON и синхронизируются со всеми подключенными клиентами в режиме реального времени. При создании кросс-платформенных приложений с помощью наших SDK для Android, iOS и JavaScript все ваши клиенты используют один экземпляр Realtime Database и автоматически получают обновления с новейшими данными.
Firebase Realtime Database доступен на всех платформах Apple, включая iOS, macOS, macOS Catalyst, tvOS и watchOS. Она недоступна для блиц-приложений. Инструкции по настройке на этой странице содержат примеры для iOS, но они являются общими и подходят для любой платформы Apple.
Требования
- Установите Firebase SDK.
- Добавьте приложение в проект Firebase в консоли Firebase.
Создание базы данных
В консоли Firebase выберите Databases & Storage (Базы данных и хранилище) > Realtime Database (База данных в реальном времени).
Нажмите Create database (Создать базу данных).
Выберите режим запуска для устройства "Firebase Security Rules":
- Режим тестирования
Подходит для начала работы с клиентскими библиотеками для мобильных устройств и веб-клиентов, но позволяет любому пользователю читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом Правила Firebase Realtime Database.
Чтобы начать работу с SDK для веб-сайтов, устройств Apple или Android, выберите тестовый режим.
- Режим блокировки
Запрещает все операции чтения и записи для мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему могут получать доступ к базе данных.
Выберите местоположение для базы данных.
В зависимости от местоположения базы данных URL новой базы данных будет иметь один из следующих форматов:
(для баз данных вDATABASE_NAME.firebaseio.comus-central1) (для баз данных во всех остальных местоположениях)DATABASE_NAME.REGION.firebasedatabase.app
Нажмите Готово.
При включении Realtime Database также включается API в Cloud API Manager.
Добавьте Firebase Realtime Database в свое приложение
Для установки зависимостей Firebase и управления ими используйте Swift Package Manager.
- Откройте проект приложения в Xcode и перейдите в меню File (Файл) > Add Packages (Добавить пакеты).
- Когда появится запрос, добавьте хранилище Firebase SDK для платформ Apple:
- Выберите библиотеку Realtime Database.
- Добавьте флаг
-ObjCв раздел Other Linker Flags (Другие флаги компоновщика) в настройках сборки целевого объекта. - После этого Xcode автоматически начнет распознавать и скачивать зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk.git
Настроить Realtime Database Security Rules
Realtime Database предоставляет декларативный язык правил, который позволяет определить, как должны быть структурированы и проиндексированы ваши данные, а также когда их можно читать и записывать.
Настроить Firebase Realtime Database
Инициализировать Firebase нужно до того, как будет создана или использована ссылка на приложение Firebase. Если вы уже сделали это для другой функции Firebase, пропустите этот шаг.
- Импортируйте модуль
FirebaseCoreвUIApplicationDelegate, а также любые другие модули 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; // ...
- Настройте общий экземпляр
FirebaseAppв методеapplication(_:didFinishLaunchingWithOptions:)делегата приложения: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, вам нужно создать делегат приложения и прикрепить его к структуре
Appс помощьюUIApplicationDelegateAdaptorилиNSApplicationDelegateAdaptor. Также необходимо отключить подмену делегата приложения. Дополнительную информацию можно найти в инструкциях по 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 недоступна для блиц-приложений.var ref: DatabaseReference! ref = Database.database().reference()
Objective-C
Примечание. Эта функция Firebase недоступна для блиц-приложений.@property (strong, nonatomic) FIRDatabaseReference *ref; self.ref = [[FIRDatabase database] reference];
Дальнейшие действия
Узнайте, как структурировать данные для Realtime Database.
Подготовка к запуску приложения:
Включите App Check, чтобы доступ к вашим базам данных был только у ваших приложений.
Настройте оповещения о бюджете для проекта в консоли Google Cloud.
Чтобы получить общее представление об использовании проекта в нескольких сервисах Firebase, отслеживайте панель управления Использование и оплата в консоли Firebase. Подробную информацию об использовании можно найти на панели Realtime Database Использование.
Ознакомьтесь с контрольным списком для запуска Firebase.