تعرف على المزيد حول Android وFirebase

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

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

البرنامج المساعد Firebase Assistant لنظام Android Studio

يعد Firebase Assistant مكونًا إضافيًا لـ Android Studio يقوم بتسجيل تطبيق Android الخاص بك مع مشروع Firebase ويضيف ملفات تكوين Firebase الضرورية والمكونات الإضافية والتبعيات إلى مشروع Android الخاص بك - كل ذلك من داخل Android Studio!

اتبع الإرشادات الموجودة في صفحة بدء تشغيل Android لاستخدام Firebase Assistant. تأكد من أنك تستخدم أحدث الإصدارات من Android Studio وFirebase Assistant (انتقل إلى ملف > التحقق من وجود تحديثات ).

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

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

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

خدمات جوجل - البرنامج المساعد وملف التكوين

كجزء من إضافة Firebase إلى مشروع Android الخاص بك، تحتاج إلى إضافة المكون الإضافي google-services وملف تكوين google-services.json إلى مشروعك.

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

تفضل بزيارة وثائق Android للتعرف على كيفية عمل المكون الإضافي لخدمات Google وملف التكوين معًا.

Firebase Android BoM (قائمة المواد)

يمكّنك Firebase Android BoM (قائمة المواد) من إدارة جميع إصدارات مكتبة Firebase الخاصة بك عن طريق تحديد إصدار واحد فقط - إصدار BoM.

عند استخدام Firebase BoM في تطبيقك، يقوم 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.4.0')

  // 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.4.0')

  // 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 امتدادات نحوية مختلفة للوحدة الرئيسية. على سبيل المثال، تعمل وحدة Analytics 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 ML وفهرسة التطبيقات.

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

وحدات الميزات وتسليم ميزات التشغيل

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

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

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

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

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

كن على دراية بالتحذيرات التالية عند استخدام Firebase SDK في وحدات الميزات:

  • المنتجات مثل الروابط الديناميكية أو Firebase In-App Messaging التي تعتمد على حدث Analytics first_open قد تفوت هذا الحدث عند استخدامها في وحدة ميزات ديناميكية.

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

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

لمزيد من المعلومات حول وحدات الميزات وتسليم ميزات التشغيل، قم بزيارة نظرة عامة على تسليم ميزات التشغيل .

خدمات Google Gradle Plugin مقابل خدمات Google Play مقابل متجر Google Play

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

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

موارد مفتوحة المصدر لحزم Firebase Android SDK

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

Firebase Android SDK

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

عينات البدء السريع

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

يمكنك فتح كل عملية تشغيل سريعة كمشروع Android Studio، ثم تشغيلها على جهاز محمول أو جهاز افتراضي (AVD). أو يمكنك استخدام هذه البدايات السريعة كمثال للتعليمات البرمجية لاستخدام Firebase SDKs.

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