نصب و راه اندازی در اندروید

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

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

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

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

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

    حالت آزمون

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

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

    حالت قفل شده

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

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

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

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

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

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

وقتی پایگاه داده Realtime را فعال می‌کنید، API را در Cloud API Manager نیز فعال می‌کند.

SDK پایگاه داده بیدرنگ را به برنامه خود اضافه کنید

با استفاده از Firebase Android BoM ، وابستگی کتابخانه اندروید Realtime Database را در فایل Gradle ماژول (سطح برنامه) خود (معمولا app/build.gradle ) اعلام کنید.

جاوا

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

    // Declare 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 {
    // Declare 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.0.3'
}

Kotlin+KTX

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

    // Declare 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-ktx'
}

با استفاده از Firebase Android BoM ، برنامه شما همیشه از نسخه‌های سازگار کتابخانه‌های Firebase Android استفاده می‌کند.

(جایگزین) وابستگی های کتابخانه Firebase را بدون استفاده از BoM اعلام کنید

اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.

توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما به شدت توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.

dependencies {
    // Declare 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-ktx:20.0.3'
}

قوانین پایگاه داده بیدرنگ را پیکربندی کنید

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

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

نمونه ای از پایگاه داده خود را با استفاده از getInstance() بازیابی کنید و به مکانی که می خواهید در آن بنویسید ارجاع دهید.

جاوا

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

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

Kotlin+KTX

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

myRef.setValue("Hello, World!")

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

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

برای به‌روزرسانی داده‌های برنامه خود در زمان واقعی، باید یک ValueEventListener به مرجعی که ایجاد کرده‌اید اضافه کنید.

onDataChange() در این کلاس یک بار هنگامی که شنونده متصل می شود و دوباره هر بار که داده ها از جمله فرزندان تغییر می کنند، راه اندازی می شود.

جاوا

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(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(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

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())
    }
})

اختیاری: 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 دیدن کنید تا از یک متخصص کمک بگیرید.

برای راه اندازی آماده شوید

قبل از راه‌اندازی برنامه‌تان، توصیه می‌کنیم فهرست چک‌های راه‌اندازی ما را مرور کنید تا مطمئن شوید برنامه‌تان آماده کار است!

برای اطمینان از اینکه فقط برنامه‌های شما می‌توانند به پایگاه‌های داده‌تان دسترسی داشته باشند، حتماً بررسی برنامه را فعال کنید.

مراحل بعدی