إضافة Firebase إلى مشروع Android

المتطلبات الأساسية

  • ثبِّت أحدث إصدار من Android Studio أو حدِّثه.

  • يجب التأكّد من أنّ مشروعك يستوفي هذه المتطلبات (يُرجى العِلم أنّ بعض المنتجات قد تتضمّن متطلبات أكثر صرامة):

    • يستهدف المستوى 21 من واجهة برمجة التطبيقات (Lollipop) أو الإصدارات الأحدث
    • يعمل بالإصدار 5.0 من نظام التشغيل Android أو إصدار أحدث
    • يستخدم Jetpack (AndroidX)، الذي يتضمّن استيفاء متطلبات الإصدار التالية:
      • com.android.tools.build:gradle الإصدار 7.3.0 أو إصدار أحدث
      • compileSdkVersion 28 أو إصدار أحدث
  • يمكنك إعداد جهاز فعلي أو استخدام محاكي لتشغيل تطبيقك.
    يُرجى العِلم أنّ حِزم تطوير البرامج (SDK) من Firebase التي تعتمد على خدمات Google Play تتطلّب تثبيت خدمات Google Play على الجهاز أو المحاكي.

  • سجِّل الدخول إلى Firebase باستخدام حسابك على Google.

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


يمكنك ربط تطبيق Android بمنصّة Firebase باستخدام أحد الخيارَين التاليَين:

  • الخيار 1: (يُنصح به) استخدام سير عمل إعداد وحدة تحكّم Firebase.
  • الخيار 2: استخدام "مساعِد Firebase" في "استوديو Android" (قد يتطلّب ذلك إعدادات إضافية)



الخيار 1: إضافة Firebase باستخدام وحدة تحكّم Firebase

تتضمّن إضافة Firebase إلى تطبيقك مهامًا في كل من وحدة تحكّم Firebase ومشروع Android المفتوح (على سبيل المثال، تنزّل ملفات إعداد Firebase من وحدة التحكّم، ثم تنقلها إلى مشروع Android).

الخطوة 1: إنشاء مشروع Firebase

قبل أن تتمكّن من إضافة Firebase إلى تطبيق Android، عليك إنشاء مشروع على Firebase لربطه بتطبيق Android. انتقِل إلى التعرّف على مشاريع Firebase لمعرفة المزيد عن مشاريع Firebase.

الخطوة 2: تسجيل تطبيقك في Firebase

لاستخدام Firebase في تطبيق Android، عليك تسجيل تطبيقك في مشروعك على Firebase. يُطلق على تسجيل تطبيقك غالبًا اسم "إضافة" تطبيقك إلى مشروعك.

  1. انتقِل إلى وحدة تحكّم Firebase.

  2. في وسط صفحة نظرة عامة على المشروع، انقر على رمز Android () أو إضافة تطبيق لبدء سير عمل الإعداد.

  3. أدخِل اسم حزمة تطبيقك في حقل اسم حزمة Android.

  4. (اختياري) أدخِل معلومات التطبيق الأخرى: الاسم المختصر للتطبيق وشهادة توقيع تصحيح الأخطاء SHA-1.

  5. انقر على تسجيل التطبيق.

الخطوة 3: إضافة ملف إعداد Firebase

  1. نزِّل ملف إعداد Firebase الخاص بتطبيقك (google-services.json) ثم أضِفه إلى قاعدة الرموز البرمجية:

    1. انقر على تنزيل ملف google-services.json للحصول على ملف إعداد Firebase الخاص بتطبيقك.

    2. انقل ملف الإعداد إلى الدليل الجذري للوحدة (على مستوى التطبيق) في تطبيقك.

  2. لإتاحة الوصول إلى القيم في ملف الإعداد google-services.json لحِزم تطوير البرامج (SDK) في Firebase، يجب استخدام مكوّن Gradle الإضافي لخدمات Google (google-services).

    1. في ملف Gradle على مستوى الجذر (على مستوى المشروع) (<project>/build.gradle.kts أو <project>/build.gradle)، أضِف المكوّن الإضافي في "خدمات Google" كعنصر تابع:

      Kotlin

      plugins {
        id("com.android.application") version "7.3.0" apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id("com.google.gms.google-services") version "4.4.3" apply false
      }

      Groovy

      plugins {
        id 'com.android.application' version '7.3.0' apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id 'com.google.gms.google-services' version '4.4.3' apply false
      }
    2. في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضِف المكوّن الإضافي لخدمات Google:

      Kotlin

      plugins {
        id("com.android.application")
      
        // Add the Google services Gradle plugin
        id("com.google.gms.google-services")
        // ...
      }

      Groovy

      plugins {
        id 'com.android.application'
      
        // Add the Google services Gradle plugin
        id 'com.google.gms.google-services'
        // ...
      }

الخطوة 4: إضافة حِزم تطوير البرامج (SDK) لمنصة Firebase إلى تطبيقك

  1. في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضِف التبعيات الخاصة بمنتجات Firebase التي تريد استخدامها في تطبيقك. ننصحك باستخدام Firebase Android BoM للتحكّم في إصدارات المكتبة.

    تم تفعيل Analytics

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:34.3.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Add the dependency for the Firebase SDK for Google Analytics
      implementation("com.google.firebase:firebase-analytics")
    
      // TODO: Add the dependencies for any other Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase Android.

    لم يتم تفعيل Analytics

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:34.3.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // TODO: Add the dependencies for Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase Android.

  2. بعد إضافة التبعيات للمنتجات التي تريد استخدامها، عليك مزامنة مشروع Android مع ملفات Gradle.

وهذا كل ما في الأمر! يمكنك الانتقال مباشرةً إلى الخطوات التالية المقترَحة.

إذا كنت تواجه مشكلة في عملية الإعداد، يمكنك الانتقال إلى تحديد المشاكل وحلّها والأسئلة الشائعة على Android.



الخيار 2: إضافة Firebase باستخدام "مساعِد Firebase"

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

  1. افتح مشروع Android في "استوديو Android"، ثم تأكَّد من أنّك تستخدم أحدث إصدارات "استوديو Android" و"مساعد Firebase":

    • Windows / Linux: المساعدة > البحث عن تحديثات
    • في نظام التشغيل macOS: Android Studio > التحقّق من توفّر تحديثات
  2. افتح "مساعِد Firebase": الأدوات > Firebase.

  3. في لوحة المساعد، اختَر أحد منتجات Firebase لإضافته إلى تطبيقك. وسِّع القسم الخاص به، ثم انقر على رابط البرنامج التعليمي (على سبيل المثال، Analytics > تسجيل حدث في "إحصاءات Google").

    1. انقر على الربط بخدمة Firebase لربط مشروع Android بخدمة Firebase.

    2. انقر على الزر لإضافة منتج Firebase المطلوب (على سبيل المثال، إضافة Analytics إلى تطبيقك).

  4. يمكنك مزامنة تطبيقك للتأكّد من أنّ جميع العناصر التابعة تتضمّن الإصدارات اللازمة.

  5. في لوحة المساعد، اتّبِع بقية تعليمات الإعداد الخاصة بمنتج Firebase الذي اخترته.

  6. يمكنك إضافة أي عدد تريده من منتجات Firebase الأخرى من خلال Firebase Assistant.

وهذا كل ما في الأمر! احرص على الاطّلاع على الخطوات التالية المقترَحة.

إذا كنت تواجه مشكلة في عملية الإعداد، يمكنك الانتقال إلى تحديد المشاكل وحلّها والأسئلة الشائعة على Android.



المكتبات المتاحة

يسرد هذا القسم منتجات Firebase المتوافقة مع Android وتبعيات Gradle الخاصة بها. مزيد من المعلومات عن مكتبات Firebase Android هذه:

يُرجى العِلم أنّه عند استخدام Firebase Android BoM، لا تحدّد إصدارات المكتبات الفردية عند تعريف تبعيات مكتبة Firebase في ملف إعدادات الإصدار في Gradle.

الخدمة أو المنتج تبعيات Gradle أحدث
إصدار
هل تريد إضافة Analytics؟
Firebase Android BoM
(Bill of Materials)
com.google.firebase:firebase-bom

يحتوي الإصدار الأخير Firebase BoM على أحدث إصدارات كل مكتبة من مكتبات Firebase لنظام التشغيل Android. لمعرفة إصدارات المكتبة التي تتوافق مع إصدار معيّن من BoM، راجِع ملاحظات الإصدار الخاصة بإصدار BoM هذا.

‫34.3.0
AdMob com.google.android.gms:play-services-ads 24.6.0
Firebase AI Logic 1 com.google.firebase:firebase-ai ‫17.3.0
Analytics com.google.firebase:firebase-analytics 23.0.0
App Check مزوّد مخصّص com.google.firebase:firebase-appcheck 19.0.1
App Check موفّر تصحيح الأخطاء com.google.firebase:firebase-appcheck-debug 19.0.1
App Check مقدّم خدمة Play Integrity com.google.firebase:firebase-appcheck-playintegrity 19.0.1
App Distribution com.google.firebase:firebase-appdistribution ‫16.0.0-beta17
App Distribution API com.google.firebase:firebase-appdistribution-api ‫16.0.0-beta17
App Distribution المكوّن الإضافي com.google.firebase:firebase-appdistribution-gradle 5.1.1
Authentication com.google.firebase:firebase-auth ‫24.0.1
Cloud Firestore com.google.firebase:firebase-firestore 26.0.1
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions 22.0.1
Cloud Messaging com.google.firebase:firebase-messaging 25.0.1
Cloud Storage com.google.firebase:firebase-storage 22.0.1
Crashlytics com.google.firebase:firebase-crashlytics 20.0.2
Crashlytics NDK com.google.firebase:firebase-crashlytics-ndk 20.0.2
Crashlytics المكوّن الإضافي com.google.firebase:firebase-crashlytics-gradle 3.0.6
Data Connect com.google.firebase:firebase-dataconnect 17.0.1
إتاحة استخدام وحدات الميزات الديناميكية com.google.firebase:firebase-dynamic-module-support 16.0.0-beta04
In-App Messaging com.google.firebase:firebase-inappmessaging 22.0.1
(مطلوب)
In-App Messaging الشبكة الإعلانية com.google.firebase:firebase-inappmessaging-display 22.0.1
(مطلوب)
Firebase من عمليات التثبيت com.google.firebase:firebase-installations 19.0.1
Firebase ML Model Downloader API com.google.firebase:firebase-ml-modeldownloader 26.0.1
Performance Monitoring com.google.firebase:firebase-perf 22.0.2
Performance Monitoring المكوّن الإضافي com.google.firebase:perf-plugin 2.0.1
Realtime Database com.google.firebase:firebase-database 22.0.1
Remote Config com.google.firebase:firebase-config 23.0.1
مكوّن "خدمات Google Play" الإضافي com.google.gms:google-services 4.4.3
المكتبات المتوقّفة نهائيًا أو غير المتوافقة
App Indexing com.google.firebase:firebase-appindexing 20.0.0
Dynamic Links com.google.firebase:firebase-dynamic-links ‫22.1.0

وحدات Firebase KTX - تم إيقافها نهائيًا

Analytics لا تستخدِمها، لأنّ مكتبات وحدة KTX لم تعُد متاحة.
com.google.firebase:firebase-analytics-ktx
22.5.0
App Check مزوّد مخصّص لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-appcheck-ktx
18.0.0
App Distribution API لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-appdistribution-api-ktx
‫16.0.0-beta15
Authentication لا تستخدِمها، فقد توقّف دعم مكتبات وحدات KTX.
com.google.firebase:firebase-auth-ktx
23.2.1
Cloud Firestore لا تستخدِمها، فقد توقّف دعم مكتبات وحدة KTX.
com.google.firebase:firebase-firestore-ktx
‫25.1.4
Cloud Functions for Firebase Client SDK لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-functions-ktx
‫21.2.1
Cloud Messaging لا تستخدِمها، لم يعُد يتم توفير مكتبات وحدات KTX.
com.google.firebase:firebase-messaging-ktx
‫24.1.2
Cloud Storage لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-storage-ktx
‫21.0.2
Crashlytics لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-crashlytics-ktx
‫19.4.4
Dynamic Links لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-dynamic-links-ktx
‫22.1.0
In-App Messaging لا تستخدِمها، لأنّ مكتبات وحدة KTX لم تعُد متاحة.
com.google.firebase:firebase-inappmessaging-ktx
‫21.0.2
(مطلوب)
In-App Messaging الشبكة الإعلانية لا تستخدِمها، لأنّه لم يعُد متاحًا استخدام مكتبات وحدات KTX.
com.google.firebase:firebase-inappmessaging-display-ktx
‫21.0.2
(مطلوب)
Firebase من عمليات التثبيت لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-installations-ktx
18.0.0
Firebase ML Model Downloader API لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-ml-modeldownloader-ktx
25.0.1
Performance Monitoring لا تستخدِمها، فقد توقّف دعم مكتبات وحدات KTX.
com.google.firebase:firebase-perf-ktx
‫21.0.5
Realtime Database لا تستخدِمها، لأنّ مكتبات وحدات KTX لم تعُد متاحة.
com.google.firebase:firebase-database-ktx
21.0.0
Remote Config لا تستخدِمها، لم يعُد يتم توفير مكتبات وحدة KTX.
com.google.firebase:firebase-config-ktx
22.1.2

مكتبات Firebase ML Kit

Firebase ML واجهات برمجة التطبيقات الخاصة بالنماذج المخصّصة com.google.firebase:firebase-ml-model-interpreter ‫22.0.4
Firebase ML واجهات Vision API com.google.firebase:firebase-ml-vision ‫24.1.0
Firebase ML: نموذج تصنيف الصور com.google.firebase:firebase-ml-vision-image-label-model 20.0.2
Firebase ML: نموذج رصد العناصر وتتبُّعها com.google.firebase:firebase-ml-vision-object-detection-model ‫19.0.6
Firebase ML: نموذج التعرّف على الوجوه com.google.firebase:firebase-ml-vision-face-model 20.0.2
Firebase ML: نموذج مسح الرموز الشريطية com.google.firebase:firebase-ml-vision-barcode-model 16.1.2
Firebase ML: AutoML Vision Edge API com.google.firebase:firebase-ml-vision-automl ‫18.0.6
Firebase ML: واجهات برمجة التطبيقات للغة الطبيعية com.google.firebase:firebase-ml-natural-language 22.0.1
Firebase ML: نموذج تحديد اللغة com.google.firebase:firebase-ml-natural-language-language-id-model ‫20.0.8
Firebase ML: نموذج الترجمة com.google.firebase:firebase-ml-natural-language-translate-model ‫20.0.9
Firebase ML: نموذج الرد السريع com.google.firebase:firebase-ml-natural-language-smart-reply-model ‫20.0.8

1 كان اسم Firebase AI Logic سابقًا "Vertex AI in Firebase" مع الحزمة com.google.firebase:firebase-vertexai.



الخطوات التالية

أضِف خدمات Firebase إلى تطبيقك:

  • إنشاء ميزات مستندة إلى الذكاء الاصطناعي التوليدي باستخدام نماذج Gemini وImagen باستخدام Firebase AI Logic

  • يمكنك الحصول على إحصاءات عن سلوك المستخدمين باستخدام Analytics.

  • إعداد مسار مصادقة مستخدم باستخدام Authentication

  • تخزين البيانات، مثل معلومات المستخدمين، باستخدام Cloud Firestore أو Realtime Database

  • تخزين الملفات، مثل الصور والفيديوهات، باستخدام Cloud Storage

  • تفعيل رمز الخلفية الذي يتم تنفيذه في بيئة آمنة باستخدام Cloud Functions

  • إرسال إشعارات باستخدام Cloud Messaging

  • يمكنك معرفة وقت تعطُّل تطبيقك وسببه باستخدام Crashlytics.

مزيد من المعلومات عن Firebase: