أثناء قيامك بتطوير مشروع 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
وملف تكوين
إلى مشروعك.
إذا أضفت 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:
إليك كيفية تجاوز إصدار مكتبة معين في BoM:
حافظ على الخط لاستيراد منصة BoM.
في سطر التبعية للمكتبة ، حدد إصدار المكتبة المطلوب. على سبيل المثال ، إليك كيفية الإعلان عن التبعيات إذا كنت تريد استخدام الإصدار 18.0.0 من فهرسة التطبيقات بغض النظر عن الإصدار المحدد في BoM ، ولكنك تريد استخدام إصدارات BoM للمصادقة و Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
لا. لإضافة مكتبات Firebase واستخدامها في تطبيقك فعليًا ، يجب أن تعلن عن كل مكتبة على أنها سطر تبعية منفصل في ملف Gradle (على مستوى التطبيق) للوحدة النمطية (عادةً app/build.gradle
).
يضمن استخدام BoM أن تكون إصدارات أي من مكتبات Firebase في تطبيقك متوافقة ، لكن BoM لا يضيف مكتبات Firebase إلى تطبيقك.
نعم! عندما تعلن عن خطوط تبعية مكتبة Firebase الخاصة بك ، ما عليك سوى استخدام اسم مكتبة KTX ، مثل:
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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
لا. يدير Firebase Android BoM إصدارات المكتبات لمكتبات Firebase فقط. الاستثناء الوحيد هو تضمين Google Mobile Ads SDK لأنه شائع الاستخدام في تطبيقات Firebase.
على الرغم من إصدار كل مكتبة من مكتبات Firebase بشكل مستقل ، إلا أنها مبنية معًا لضمان توافق أحدث إصدار من كل مكتبة مع الآخرين.
باستخدام BoM لإدارة إصدارات مكتبة Firebase لتطبيقك ، لن تحتاج إلى تتبع إصدار مكتبة Firebase المتوافق مع مكتبة Firebase أخرى.
حتى إذا كنت تستخدم مكتبة Firebase واحدة فقط في تطبيقك في الوقت الحالي ، فإننا لا نزال نوصي باستخدام BoM لأنك لا تعرف أبدًا متى قد ترغب في استخدام مكتبة Firebase أخرى!
نعم ، لا يزال بإمكانك استخدام BoM! بالنسبة لـ Gradle 5.0 والإصدارات الأحدث ، يتم تمكين دعم BoM تلقائيًا. ومع ذلك ، بالنسبة للإصدارات السابقة من Gradle ، تحتاج فقط إلى تمكين ميزة BoM واستيراد BoM بشكل مختلف قليلاً.
إلى ملف
settings.gradle
الخاص بك ، أضفenableFeaturePreview('IMPROVED_POM_SUPPORT')
.إلى ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (عادةً
app/build.gradle
) ، قم باستيراد BoM مثل مكتبة عادية (بدون معدّلplatform
) ، مثل:dependencies { // Import the Firebase BoM implementation '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 SDK repo على GitHub .
قارن إصدارات 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.
مواضيع أخرى ذات أهمية
- تبعيات Firebase Android SDKs على خدمات Google Play
- اربط تطبيق Firebase بـ Google Play
- تكامل مع مشروع خدمات ألعاب Play