התקנה & הגדרה בפלטפורמות של 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. עוברים לקטע Realtime Database במסוף Firebase. תתבקשו לבחור פרויקט קיים ב-Firebase. פועלים לפי תהליך העבודה ליצירת מסד נתונים.

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

    מצב בדיקה

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

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

    מצב נעילה

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

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

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

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

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

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

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

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

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

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל קובץ > הוספת חבילות.
  2. כשמופיעה בקשה, מוסיפים את המאגר של Firebase SDK לפלטפורמות של Apple:
  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 שבהם משתמש הנציג של האפליקציה. לדוגמה, כדי להשתמש ב-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 בשיטה 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, עליכם ליצור נציג אפליקציה ולצרף אותו למבנה 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()
          }
        }
      }
    }
          
  4. יוצרים הפניה למסד הנתונים ומציינים את המיקום שאליו רוצים לכתוב.

    Swift

    הערה: מוצר Firebase הזה לא זמין ביעד של קטע מקדים לאפליקציה.
    var ref: DatabaseReference!
    
    ref = Database.database().reference()

    Objective-C

    הערה: מוצר Firebase הזה לא זמין ביעד של קטע מקדים לאפליקציה.
    @property (strong, nonatomic) FIRDatabaseReference *ref;
    
    self.ref = [[FIRDatabase database] reference];

השלבים הבאים