התקנה & הגדרה בפלטפורמות של Apple

‫Firebase Realtime Database הוא מסד נתונים שמתארח בענן. הנתונים מאוחסנים כ-JSON ומסונכרנים בזמן אמת עם כל לקוח מחובר. כשמפתחים אפליקציות לפלטפורמות שונות באמצעות ערכות ה-SDK ל-Android, ל-iOS ול-JavaScript, כל הלקוחות משתמשים באותו מופע של Realtime Database ומקבלים עדכונים אוטומטיים עם הנתונים החדשים ביותר.

‫Firebase Realtime Database זמין בכל הפלטפורמות של Apple, כולל iOS, ‏macOS, ‏macOS Catalyst, ‏tvOS ו-watchOS. האפשרות הזו לא זמינה ב-App Clips. הוראות ההגדרה בדף הזה מתייחסות ל-iOS בדוגמאות ספציפיות, אבל הן כלליות ופועלות בכל יעד של פלטפורמת Apple.

דרישות מוקדמות

  1. מתקינים את Firebase SDK.
  2. מוסיפים את האפליקציה לפרויקט Firebase במסוף Firebase.

יצירת מסד נתונים

  1. במסוף Firebase, נכנסים אל Databases & Storage > מסד נתונים בזמן אמת.

  2. לוחצים על Create database.

  3. צריך לבחור מצב התחלה ל-Firebase Security Rules:

    מצב בדיקה

    מתאים לתחילת העבודה עם ספריות הלקוח לנייד ולאינטרנט, אבל מאפשר לכל אחד לקרוא את הנתונים שלכם ולשכתב אותם. אחרי הבדיקה, חשוב לעיין בקטע הסבר על כללי מסד הנתונים בזמן אמת ב-Firebase.

    כדי להתחיל להשתמש ב-SDK לאינטרנט, ל-Apple או ל-Android, בוחרים באפשרות testmode.

    מצב נעילה

    דוחה את כל פעולות הקריאה והכתיבה מלקוחות בנייד ובאינטרנט. שרתי האפליקציות המאומתים עדיין יכולים לגשת למסד הנתונים.

  4. בוחרים מיקום למסד הנתונים.

    בהתאם למיקום של מסד הנתונים, כתובת ה-URL של מסד הנתונים החדש תהיה באחת מהצורות הבאות:

    • ‫DATABASE_NAME.firebaseio.com (למסדי נתונים ב-us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (למסדי נתונים בכל המיקומים האחרים)

  5. לוחצים על סיום.

כשמפעילים את Realtime Database, ה-API מופעל גם ב-Cloud API Manager.

הוספת Firebase Realtime Database לאפליקציה

משתמשים ב-Swift Package Manager כדי להתקין ולנהל את יחסי התלות של Firebase.

  1. ב-Xcode, כשהפרויקט של האפליקציה פתוח, עוברים אל File > Add Packages (קובץ > הוספת חבילות).
  2. כשמוצגת בקשה, מוסיפים את מאגר ה-SDK של Firebase לפלטפורמות של אפל:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. בוחרים את הספרייה Realtime Database.
  5. מוסיפים את הדגל -ObjC לקטע Other Linker Flags (דגלים אחרים של מקשרים) בהגדרות ה-build של היעד.
  6. אחרי שתסיימו, פלטפורמת Xcode תתחיל לטפל ביחסי התלות ולהוריד אותם באופן אוטומטי ברקע.

הגדרה של Realtime Database Security Rules

Realtime Database מספק שפת כללים הצהרתית שמאפשרת להגדיר את מבנה הנתונים, את אופן ההוספה שלהם לאינדקס ואת המועדים שבהם אפשר לקרוא את הנתונים ולכתוב אותם.

הגדר את Firebase Realtime Database

צריך להפעיל את Firebase לפני שיוצרים או משתמשים בהפניה לאפליקציית Firebase. אם כבר עשיתם את זה בשביל תכונה אחרת של Firebase, אתם יכולים לדלג על השלב הזה.

  1. מייבאים את המודול FirebaseCore אל UIApplicationDelegate, וגם כל מודול Firebase אחר שבו משתמש ה-app delegate. לדוגמה, כדי להשתמש ב-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. מגדירים מופע משותף של FirebaseApp ב-method‏ 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];
  3. אם אתם משתמשים ב-SwiftUI, אתם צריכים ליצור נציג של האפליקציה ולצרף אותו ל-struct של App באמצעות UIApplicationDelegateAdaptor או NSApplicationDelegateAdaptor. צריך גם להשבית את ה-swizzling של נציג האפליקציה. מידע נוסף זמין בהוראות של 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];

השלבים הבאים