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

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

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

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

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

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

  1. במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) >‏ Realtime Database (מסד נתונים בזמן אמת).

  2. לוחצים על יצירת מסד נתונים.

  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. כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. בוחרים בספרייה Realtime Database.
  5. מוסיפים את הדגל -ObjC לקטע Other Linker Flags בהגדרות הבנייה של יעד הקישור.
  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. מגדירים מופע משותף בשיטה application(_:didFinishLaunchingWithOptions:) של נציג האפליקציה:FirebaseApp

    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 הזה לא זמין ביעד App Clip.
    var ref: DatabaseReference!
    
    ref = Database.database().reference()

    Objective-C

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

השלבים הבאים