התקנה & הגדרה בפלטפורמות של 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. עוברים לקטע 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, מערכת Cloud API Manager מפעילה גם את ה-API.

הוספת 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. מגדירים מופע משותף של 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 הזה לא זמין ביעד App Clip.
    var ref: DatabaseReference!
    
    ref = Database.database().reference()

    Objective-C

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

השלבים הבאים