فهم Firebase لنظام Android

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

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

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

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

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

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

  • إذا كنت تريد استخدام قائمة قائمتها التشغيلية في نظام التشغيل Android من Firebase، عليك تعديل الاعتماديات. في ملف 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 يجب عليك إضافة المكون الإضافي وملف التهيئة يدويًا إلى مشروعك. ومع ذلك، إذا كنت تستخدم مساعد Firebase، فإن هذه المهام تم تنفيذها تلقائيًا أثناء الإعداد.

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

قائمة مواد عرض Firebase لنظام Android

تتيح لك قائمة مواد Android في Firebase إدارة جميع نُسخ مكتبة Firebase من خلال تحديد نسخة واحدة فقط، وهي نسخة .

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

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

تعرَّف على المزيد من المعلومات حول دعم Gradle لمنصات BoM.

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

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

  // 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

وحدات مكتبة إضافات 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:33.1.2')

  // 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" تسجيل الأحداث:

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

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) لنظام التشغيل Firebase المستخدَمة في وحدات الميزات الديناميكية التي يتم تثبيتها بشكل منفصل عن الأجهزة الأساسية وحدة التطبيق.

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

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

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

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

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

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

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

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

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

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

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

مكوّن Gradle الإضافي لخدمات Google
مكوّن Gradle الإضافي (com.google.gms.google-services) الذي يتم تشغيله في وقت الإصدار التأكّد من ضبط الإعدادات المناسبة في تطبيقك للوصول إلى Firebase وGoogle واجهات برمجة التطبيقات
على الرغم من اسم هذا المكوِّن الإضافي، إلا أنه لا علاقة له بخدمات 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 كمكتبات مفتوحة المصدر في التطبيقات العامة. مستودع GitHub في Firebase نعمل جاهدين على نقل باقي Firebase تم تطويره بشكل خاص المكتبات إلى جيت هب العام قريبًا!

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

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

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

مواضيع أخرى تهمّك