أثناء قيامك بتطوير مشروع 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
وملف تكوين
إلى مشروعك.
إذا قمت بإضافة 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:
فيما يلي كيفية تجاوز إصدار المكتبة المحدد في 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.4.0') // 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.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-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.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 SDK على GitHub .
قارن إصدارات 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.
مواضيع أخرى ذات أهمية
- تبعيات Firebase Android SDK على خدمات Google Play
- قم بربط تطبيق Firebase الخاص بك بـ Google Play
- التكامل مع مشروع خدمات ألعاب Play الخاص بك