התקנה & הגדרה בפלטפורמות של 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 Manager.

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

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

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > Add Packages (קובץ > הוספת חבילות).
  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];

השלבים הבאים