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

  • إذا كنت ترغب في استخدام 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 أو واجهة برمجة تطبيقات REST للإدارة أو 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.3.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) هي مرافق صغيرة لمجموعة أدوات تطوير البرامج (SDK) الأساسية لـ Firebase والتي تتيح لك كتابة كود Kotlin الجميل والاصطلاحي.

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

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

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  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 وفهرسة التطبيقات.

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

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

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

لتمكين دعم وحدات الميزات الديناميكية ، أضف التبعية التالية إلى ملف 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 Services Gradle plugin مقابل خدمات Google Play مقابل متجر Google Play

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

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

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

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