فهم Firebase لنظام التشغيل Android

أثناء تطوير مشروع Android الخاص بك باستخدام Firebase، قد تكتشف مفاهيم غير مألوفة أو خاصة بمنصة Firebase. تهدف هذه الصفحة إلى الإجابة عن هذه الأسئلة أو توجيهك إلى موارد لمعرفة المزيد.

إذا كانت لديك أسئلة حول موضوع لم تتناوله هذه الصفحة، يمكنك زيارة أحد منتدياتنا على الإنترنت. سنقوم أيضًا بتحديث هذه الصفحة بموضوعات جديدة بشكل دوري، لذا تحقق مرة أخرى لمعرفة ما إذا كنا قد أضفنا الموضوع الذي تريد التعرف عليه!

مكوّن "مساعد Firebase" الإضافي في "استوديو Android"

و"مساعد Firebase" هو مكوّن إضافي في "استوديو Android" يعمل على تسجيل تطبيق Android في مشروع Firebase ويضيف ملفات الإعداد والمكوّنات الإضافية والتبعيات اللازمة في Firebase إلى مشروع Android، وكل ذلك من داخل Android Studio.

اتّبِع التعليمات الواردة في صفحة البدء على Android لاستخدام "مساعد Firebase". احرص على استخدام أحدث الإصدارات من كلّ من "استوديو Android" و"مساعد Firebase" (انتقِل إلى ملف > البحث عن تحديثات).

عند اختيار منتجات معيّنة من Firebase لإضافتها إلى تطبيقك، يُعلن "مساعد Firebase" تلقائيًا عن التبعيات المطلوبة في ملف app/build.gradle. مع ذلك، لاستخدام ميزات Firebase التي تتجاوز الإمكانات الحالية لـ "مساعد Firebase"، قد تحتاج إلى إجراء بعض التغييرات اليدوية على التبعيات التالية:

  • إذا أردت استخدام إطار عمل Android BoM، عدِّل التبعيات في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً app/build.gradle) لاستيراد النظام الأساسي BoM. وعليك أيضًا إزالة النُسخ من كل سطر تبعية لمكتبة Firebase.

  • إذا أردت استخدام مكتبة إضافات Kotlin، عليك تعديل سطر التبعية الذي تمت إضافته إلى ملف Gradle للوحدة (على مستوى التطبيق) (عادةً app/build.gradle) لاستخدام الإصدار ktx من مكتبة Firebase بدلاً من ذلك.

خدمات Google - المكوّن الإضافي وملف الضبط

كجزء من إضافة Firebase إلى مشروع Android، عليك إضافة المكوّن الإضافي google-services وملف إعداد google-services.json إلى مشروعك.

في حال إضافة Firebase إلى مشروع Android من خلال وحدة تحكُّم Firebase أو Management REST API أو Firebase CLI، عليك إضافة المكوّن الإضافي وملف الإعداد إلى مشروعك يدويًا. ومع ذلك، إذا كنت تستخدم مساعد Firebase، يتم تنفيذ هذه المهام تلقائيًا أثناء الإعداد.

انتقِل إلى مستندات Android للتعرّف على آلية عمل المكوّن الإضافي لخدمات Google وملف الضبط معًا.

قائمة المواد في Firebase لنظام التشغيل Android

يُتيح لك برنامج Firebase BoM (Bill of Materials) إدارة جميع نُسخ مكتبة Firebase من خلال تحديد إصدار واحد فقط، وهو إصدار BoM.

عندما تستخدم قائمة ” تحديثات لمنصة Firebase “ في تطبيقك، يسحب مؤشر BoM تلقائيًا إصدارات المكتبة الفردية التي تم ربطها بإصدار BoM. ستكون جميع إصدارات المكتبة الفردية متوافقة. عند تحديث إصدار BoM في تطبيقك، سيتم تحديث جميع مكتبات Firebase التي تستخدمها في تطبيقك إلى الإصدارات المرتبطة بإصدار BoM هذا.

لمعرفة إصدارات مكتبة Firebase التي تم ربطها بإصدار معيّن من BoM، يمكنك مراجعة ملاحظات الإصدار الخاصة بإصدار BoM هذا. إذا كنت بحاجة إلى مقارنة نُسخ المكتبة التي تم تعيينها إلى أحد إصدارات BoM مقارنةً بإصدار BoM آخر، فاستخدم أداة المقارنة أدناه.

اطّلِع على مزيد من المعلومات عن دعم Gradle لمنصات BoM.

إليك كيفية استخدام برنامج Firebase Android BoM لتعريف التبعيات في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً ما يكون app/build.gradle)، فعند استخدام BoM، لا تُحدِّد إصدارات مكتبة فردية في سطور التبعية.

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

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

في ما يلي بعض الأسئلة الشائعة حول استخدام Firebase Android BoM:

مقارنة إصدارات Firebase BoM

وحدات مكتبة إضافات Kotlin (KTX)

تعتبر وحدات مكتبة Firebase Kotlin (KTX) المصاحبة صغيرة لوحدات مكتبة Firebase الرئيسية، ويمكنك استخدامها لكتابة رمز Kotlin الجميل والمعني.

لاستخدام وحدة مكتبة KTX في تطبيقك، عليك تغيير الاعتمادية لتضمين اللاحقة -ktx. تعتمد كل وحدة KTX تلقائيًا على وحدة المكتبة الرئيسية، لذلك ليست هناك حاجة لتضمين كلتا التبعيات في تطبيقك.

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

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

توفر كل وحدة KTX امتدادات بنية مختلفة للوحدة الرئيسية. على سبيل المثال، تسهِّل وحدة KTX في "إحصاءات Google" تسجيل الأحداث:

قبل (استخدام الوحدة الرئيسية)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

بعد (استخدام وحدة KTX بدلاً من ذلك)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

توفّر جميع منتجات Firebase وحدة KTX باستثناء تعلُّم الآلة وفهرسة التطبيقات من Firebase.

إذا لم يسبق لك إجراء ذلك، يمكنك الاطّلاع على المستندات المرجعية لواجهة برمجة التطبيقات الخاصة بوحدات KTX.

وحدات الميزات وعرض الميزات في Play

اعتبارًا من أيار (مايو) 2021 (الإصدار 28.0.0 من Firebase BoM، سيصبح بإمكانك استخدام حِزم تطوير البرامج (SDK) لنظام التشغيل Android من Firebase في وحدات الميزات الديناميكية التي يتم تثبيتها بشكل منفصل عن وحدة التطبيق الأساسية.

لتفعيل إمكانية استخدام وحدات الميزات الديناميكية، أضِف الوحدة التنظيمية التالية إلى ملف build.gradle في الوحدة الأساسية:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

والآن بعد أن أضفت دعم الوحدات الديناميكية، يمكنك إضافة عناصر تابعة لحزمة تطوير البرامج (SDK) لمنصة Firebase (مع أو بدونها) لعرض وحدات من تطبيقك واستخدامها كما تفعل عادةً.

على سبيل المثال، إذا كان تطبيقك يستخدم قاعدة بيانات الوقت الفعلي لتشغيل ميزة معيّنة في الوقت الفعلي، يمكنك إضافة الاعتمادية firebase-database إلى build.gradle في وحدة الميزة بدلاً من الوحدة الأساسية. سيؤدي ذلك إلى تقليل حجم التنزيل لمعظم المستخدمين.

يُرجى الانتباه إلى المحاذير التالية عند استخدام حِزم تطوير البرامج (SDK) لمنصّة Firebase في وحدات الميزات:

  • منتجات مثل "الروابط الديناميكية" أو "المراسلة داخل التطبيق من Firebase" التي تعتمد على حدث "إحصاءات Google" first_open قد لا يتضمّن هذا الحدث عند استخدامه في وحدة الميزات الديناميكية.

  • عند استخدام Cloud Firestore والمصادقة معًا، يجب عليك دائمًا تضمينهما في الوحدة نفسها. إذا لم يكن ذلك ممكنًا، فتأكد من تحميل المصادقة قبل Cloud Firestore، وإلا فقد تتضمن بعض عمليات Cloud Firestore حالة مصادقة غير صحيحة.

  • عند استخدام firebase-crashlytics-ndk كتبعية لوحدة ميزات ديناميكية ، عليك ضبط السمة unstrippedNativeLibsDir في ملف build.gradle لتطبيقك، كما هو موضّح في مستند Crashlytics NDK.

لمزيد من المعلومات حول وحدات الميزات وميزة "عرض الميزات في Play"، يُرجى الانتقال إلى نظرة عامة على "عرض الميزات في Play".

مقارنة بين المكوّن الإضافي لنظام Gradle الخاص بخدمات Google و"خدمات Google Play" و"متجر Google Play"

العديد من أجزاء النظام الشامل Google وFirebase وAndroid لديها اصطلاحات تسمية مماثلة. في ما يلي شرح موجز لكل منها:

مكوّن Gradle الإضافي لخدمات Google
مكوّن Gradle الإضافي (com.google.gms.google-services) الذي يتم تشغيله في وقت الإصدار لضمان ضبط تطبيقك على الإعدادات الصحيحة للوصول إلى Firebase وGoogle APIs
على الرغم من اسمه، لا علاقة لهذا المكوّن الإضافي بخدمات Google Play (يُرجى الاطّلاع على الإدخال التالي) وليس له أي تأثير في إمكانات تطبيقك في وقت التشغيل.
يعالج هذا المكوّن الإضافي أيضًا ملف google-services.json الذي تضيفه إلى تطبيقك كجزء من عملية إعداد Firebase. تعرَّف على مزيد من المعلومات عن المكوّن الإضافي لنظام Gradle المتوافق مع خدمات Google.
خدمات Google Play
خدمة غير مرئية تعمل في الخلفية تعمل على جهاز Android وتوفّر العديد من واجهات Google APIs الشائعة (مثل "خرائط Google" وتسجيل الدخول بحساب Google) للتطبيقات على الجهاز
من خلال توحيد واجهات برمجة التطبيقات الشائعة هذه في خدمة واحدة، تقلّل هذه الخدمة من حجم التطبيقات الأخرى وتسمح للجهاز بتلقّي تحديثات الأمان التلقائية وتحسينات الميزات بدون تحديث نظام التشغيل. تعرَّف على المزيد من المعلومات حول خدمات Google Play.
متجر Google Play
متجر لتنزيل التطبيقات والأفلام والكتب وغيرها على جهاز Android
بصفتك مطوِّرًا، يمكنك إدارة عمليات توزيع تطبيقك وإصداراته وغير ذلك من خلال Google Play Console. إذا كان الجهاز يحتوي على "متجر Google Play"، يعني هذا أنّه يعمل أيضًا على خدمات Google Play (راجع الإدخال السابق). تعرَّف على مزيد من المعلومات حول "متجر Google Play" للمطوّرين.
Google Play Games services
مجموعة من واجهات برمجة التطبيقات لمطوّري الألعاب على الأجهزة الجوّالة
تعرَّف على مزيد من المعلومات حول خدمات "ألعاب Google Play" وكيفية دمج Firebase مع مشروعك على "خدمات ألعاب Google Play".

الموارد المفتوحة المصدر لحِزم تطوير البرامج (SDK) لنظام التشغيل Android من Firebase

يدعم Firebase تطوير البرامج المفتوحة المصدر، ونشجّع مساهمات المنتدى والملاحظات.

حِزم تطوير البرامج (SDK) لنظام التشغيل Android من Firebase

تم تطوير معظم حِزم تطوير البرامج (SDK) لنظام التشغيل Android من Firebase كمكتبات مفتوحة المصدر في مستودع Firebase GitHub العام. نحن نعمل جاهدين على نقل مكتبات Firebase المتبقية التي تم تطويرها بشكل خاص إلى GitHub العام قريبًا!

نماذج البدء السريع

يحتفظ Firebase بمجموعة من نماذج البدء السريع لمعظم واجهات برمجة تطبيقات Firebase على نظام التشغيل Android. يمكنك العثور على مشاريع البدء السريعة هذه في مستودع البدء السريع على Firebase GitHub العام.

يمكنك فتح كل بداية سريعة كمشروع من مشاريع "استوديو Android" ثم تشغيلها على جهاز جوّال أو جهاز افتراضي (AVD). أو يمكنك استخدام هذه البدء السريع كمثال كود لاستخدام حزم تطوير البرامج (SDK) لمنصة Firebase.

مواضيع أخرى مثيرة للاهتمام