חבר את האפליקציה שלך ל-Firebase

אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .

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

  1. נווט לקטע מסד נתונים בזמן אמת של מסוף Firebase . תתבקש לבחור פרויקט Firebase קיים. עקוב אחר זרימת העבודה של יצירת מסד הנתונים.

  2. בחר מצב התחלה עבור כללי האבטחה של Firebase:

    מצב מבחן

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

    כדי להתחיל בעבודה עם האינטרנט, Apple או Android SDK, בחר במצב test.

    מצב נעול

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

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

    בהתאם למיקום מסד הנתונים , כתובת האתר של מסד הנתונים החדש תהיה באחת מהצורות הבאות:

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

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

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

כאשר אתה מפעיל את מסד הנתונים בזמן אמת, הוא גם מפעיל את ה-API ב- Cloud API Manager .

הוסף את ה-SDK של מסד נתונים בזמן אמת לאפליקציה שלך

בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle ), הוסף את התלות עבור מסד הנתונים בזמן אמת ספרייה עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.8.0"))

    // Add the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database")
}

באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.

(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM

אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

dependencies {
    // Add the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-database:20.3.1")
}
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).

הגדר את כללי האבטחה של מסדי נתונים בזמן אמת

מסד הנתונים בזמן אמת מספק שפת חוקים הצהרתית המאפשרת לך להגדיר כיצד הנתונים שלך צריכים להיות מובנים, כיצד יש להוסיף אותם לאינדקס, ומתי ניתן לקרוא את הנתונים שלך ולכתוב אליהם.

כתוב למסד הנתונים שלך

אחזר מופע של מסד הנתונים שלך באמצעות getInstance() והפנה למיקום שאליו ברצונך לכתוב.

Kotlin+KTX

// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

Java

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

אתה יכול לשמור מגוון סוגי נתונים במסד הנתונים בדרך זו, כולל אובייקטי Java. כאשר אתה שומר אובייקט, התגובות מכל משברים יישמרו בתור ילדים של מיקום זה.

קרא ממסד הנתונים שלך

כדי לעדכן את נתוני האפליקציה שלך בזמן אמת, עליך להוסיף ValueEventListener להפניה שיצרת זה עתה.

שיטת onDataChange() במחלקה זו מופעלת פעם אחת כאשר המאזין מחובר ושוב בכל פעם שהנתונים משתנים, כולל הילדים.

Kotlin+KTX

// Read from the database
myRef.addValueEventListener(object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        val value = dataSnapshot.getValue<String>()
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Java

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

אופציונלי: הגדר את ProGuard

בעת שימוש ב-Firebase Realtime Database באפליקציה שלך יחד עם ProGuard, אתה צריך לשקול כיצד אובייקטי המודל שלך יועברו בסידרה ובלתי מסודרת לאחר ערפול. אם אתה משתמש DataSnapshot.getValue(Class) או DatabaseReference.setValue(Object) כדי לקרוא ולכתוב נתונים, תצטרך להוסיף כללים לקובץ proguard-rules.pro :

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models.
    # Modify this rule to fit the structure of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

כדי לקבל עזרה בשאלות או בעיות הקשורות ל-ProGuard, בקר בפורומים של קהילת Guardsquare כדי לקבל סיוע ממומחה.

היכונו להשקה

לפני השקת האפליקציה שלך, אנו ממליצים לעבור ברשימת המשימות שלנו להשקה כדי לוודא שהאפליקציה שלך מוכנה לשימוש!

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

הצעדים הבאים