أضف Firebase إلى مشروع Android ، إذا لم تكن قد قمت بذلك بالفعل.
أنشئ قاعدة بيانات
انتقل إلى قسم Realtime Database بوحدة تحكم Firebase . سيُطلب منك تحديد مشروع Firebase موجود. اتبع سير عمل إنشاء قاعدة البيانات.
حدد وضع بدء لقواعد أمان Firebase:
- وضع الاختبار
جيد لبدء استخدام مكتبات عميل الويب والجوال ، ولكنه يسمح لأي شخص بقراءة بياناتك والكتابة عليها. بعد الاختبار ، تأكد من مراجعة قسم فهم قواعد قاعدة بيانات Firebase Realtime .
لبدء استخدام الويب أو Apple أو Android SDK ، حدد وضع الاختبار.
- وضع القفل
يرفض كل ما يقرأ ويكتب من عملاء المحمول والويب. لا يزال بإمكان خوادم التطبيق المصادق عليها الوصول إلى قاعدة البيانات الخاصة بك.
اختر موقعًا لقاعدة البيانات.
اعتمادًا على موقع قاعدة البيانات ، سيكون عنوان URL لقاعدة البيانات الجديدة بأحد النماذج التالية:
DATABASE_NAME .firebaseio.com
(لقواعد البيانات فيus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(لقواعد البيانات في جميع المواقع الأخرى)
انقر فوق تم .
عند تمكين Realtime Database ، فإنه يُمكِّن أيضًا واجهة برمجة التطبيقات في Cloud API Manager .
أضف Realtime Database SDK إلى تطبيقك
في ملف Gradle (على مستوى التطبيق) الوحدة النمطية الخاصة بك (عادةً<project>/<app-module>/build.gradle.kts
أو <project>/<app-module>/build.gradle
) ، أضف التبعية لقاعدة بيانات Realtime مكتبة Android. نوصي باستخدام Firebase Android BoM للتحكم في إصدارات المكتبة. Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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-ktx") }
باستخدام 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-ktx:20.2.2") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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.2.2") }
تكوين قواعد أمان قاعدة بيانات Realtime
توفر 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!");
يمكنك حفظ مجموعة من أنواع البيانات في قاعدة البيانات بهذه الطريقة ، بما في ذلك كائنات 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 في تطبيقك جنبًا إلى جنب مع 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 Community للحصول على مساعدة من أحد الخبراء.
الاستعداد للانطلاق
قبل بدء تشغيل تطبيقك ، نوصي بالاطلاع على قائمة التحقق الخاصة بالتشغيل للتأكد من أن تطبيقك جاهز للعمل!
تأكد من تمكين App Check للمساعدة في ضمان أن تطبيقاتك فقط هي التي يمكنها الوصول إلى قواعد البيانات الخاصة بك.
الخطوات التالية
- تعرف على كيفية هيكلة البيانات لقاعدة بيانات Realtime
- مقياس بياناتك عبر طبعات قاعدة بيانات متعددة .
- قراءة وكتابة البيانات .
- اعرض قاعدة البيانات الخاصة بك في وحدة تحكم Firebase .