התקנה & הגדרה בפלטפורמות של 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, צריך לבחור באפשרות 'מצב בדיקה'.

    מצב נעילה

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

  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, כשפרויקט האפליקציה פתוח, עוברים אל קובץ > הוספת חבילות.
  2. כשמופיעה בקשה, מוסיפים את המאגר של Firebase SDK לפלטפורמות של Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. בוחרים את הספרייה Realtime Database.
  5. מוסיפים את הדגל -ObjC לקטע סימונים של מקשר אחר בהגדרות ה-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 ב-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, עליכם ליצור נציג מורשה לאפליקציה ולצרף אותו ל-build של 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];

השלבים הבאים