برنامه خود را به Firebase وصل کنید

اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Android خود اضافه کنید .

یک پایگاه داده ایجاد کنید

  1. به بخش Realtime Database کنسول Firebase بروید. از شما خواسته می شود که یک پروژه Firebase موجود را انتخاب کنید. گردش کار ایجاد پایگاه داده را دنبال کنید.

  2. یک حالت شروع برای Firebase Security Rules خود انتخاب کنید:

    حالت تست

    برای شروع کار با کتابخانه های موبایل و کلاینت وب خوب است، اما به هر کسی اجازه می دهد داده های شما را بخواند و بازنویسی کند. پس از تست، حتما قسمت Understand Firebase Realtime Database Rules را مرور کنید.

    برای شروع کار با وب، اپل یا اندروید SDK، حالت تست را انتخاب کنید.

    حالت قفل شده

    همه خواندن و نوشتن از مشتریان تلفن همراه و وب را رد می کند. سرورهای برنامه تأیید شده شما همچنان می توانند به پایگاه داده شما دسترسی داشته باشند.

  3. مکانی را برای پایگاه داده انتخاب کنید.

    بسته به موقعیت پایگاه داده ، URL پایگاه داده جدید به یکی از اشکال زیر خواهد بود:

    • DATABASE_NAME .firebaseio.com (برای پایگاه‌های داده در us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (برای پایگاه‌های داده در همه مکان‌های دیگر)

  4. روی Done کلیک کنید.

هنگامی که Realtime Database فعال می کنید، API را در Cloud API Manager نیز فعال می کند.

SDK Realtime Database را به برنامه خود اضافه کنید

در فایل Gradle ماژول (سطح برنامه) خود (معمولا <project>/<app-module>/build.gradle.kts یا <project>/<app-module>/build.gradle )، وابستگی را برای Realtime Database اضافه کنید. کتابخانه برای اندروید توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌سازی کتابخانه استفاده کنید.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.3.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:21.0.0")
}
به دنبال یک ماژول کتابخانه خاص کاتلین هستید؟ از اکتبر 2023 ( Firebase BoM 32.5.0) ، توسعه دهندگان Kotlin و Java می توانند به ماژول کتابخانه اصلی وابسته باشند (برای جزئیات، به سؤالات متداول در مورد این ابتکار مراجعه کنید).

Realtime Database Security Rules پیکربندی کنید

Realtime Database یک زبان قواعد اعلامی را ارائه می دهد که به شما امکان می دهد نحوه ساختار داده های شما، نحوه فهرست بندی و زمان خواندن و نوشتن داده های شما را تعریف کنید.

در پایگاه داده خود بنویسید

نمونه ای از پایگاه داده خود را با استفاده از 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!");

از این طریق می توانید طیف وسیعی از انواع داده ها را در پایگاه داده ذخیره کنید، از جمله اشیاء جاوا. هنگامی که یک شی را ذخیره می کنید، پاسخ های دریافت کننده ها به عنوان فرزندان این مکان ذخیره می شوند.

از پایگاه داده خود بخوانید

برای به‌روزرسانی داده‌های برنامه خود در زمان واقعی، باید یک 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 فعال کنید.

مراحل بعدی