الأسئلة الشائعة حول Firebase

هل لديك مشاكل أخرى أو لا تظهر مشكلتك الموضّحة أدناه؟ يُرجى الإبلاغ عن خطأ أو طلب ميزة والانضمام إلى مناقشات Stack Overflow.

مشاريع Firebase وتطبيقات Firebase

مشروع Firebase هو عنصر المستوى الأعلى في Firebase. في المشروع، يمكنك تسجيل تطبيقاتك المتوافقة مع أجهزة Apple أو Android أو الويب. بعد تسجيل تطبيقاتك في Firebase، يمكنك إضافة حِزم تطوير البرامج (SDK) لمنصّة Firebase الخاصة بالمنتجات إلى تطبيقك، مثل Analytics أو Cloud Firestore أو Crashlytics أو Remote Config.

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

في ما يلي بعض المراجع للاطّلاع على مزيد من المعلومات عن مشاريع Firebase:

  • فهم مشاريع Firebase: يقدّم هذا القسم نظرة عامة موجزة حول عدّة مفاهيم مهمة عن مشاريع Firebase، بما في ذلك علاقتها بمنصّة Google Cloud والبنية الأساسية للمشروع وتطبيقاته وموارده.
  • أفضل الممارسات العامة لإعداد مشاريع Firebase: تقدّم هذه المقالة أفضل الممارسات العامة العالية المستوى لإعداد مشاريع Firebase وتسجيل تطبيقاتك في مشروع حتى يكون لديك سير عمل تطوير واضح يستخدم بيئات مختلفة.

يُرجى العلم أنّه بالنسبة إلى جميع مشاريع Firebase، تضيف Firebase تلقائيًا تصنيفًا هو firebase:enabled ضمن صفحة Labels (التصنيفات) لمشروعك في وحدة تحكّم Google Cloud. يمكنك الاطّلاع على مزيد من المعلومات حول هذا التصنيف في الأسئلة الشائعة.

مؤسسة Google Cloud هي حاوية لمشاريع Google Cloud (بما في ذلك مشاريع Firebase). يتيح هذا التسلسل الهرمي تنظيمًا أفضل، وإدارة وصول أفضل، وتدقيقًا أفضل لمشاريعك على Google Cloud وFirebase. لمزيد من المعلومات، يُرجى الرجوع إلى مقالة إنشاء المؤسسات وإدارتها.

قد يكون لديك مشاريع Google Cloud حالية تُدار من خلال وحدة تحكّم Google Cloud أو Google APIs Console.

يمكنك إضافة Firebase إلى مشاريع Google Cloud الحالية هذه باستخدام أيٍّ مما يلي: الخيارات التالية:

اطّلِع على مزيد من التفاصيل حول إضافة Firebase إلى مشروع Google Cloud.

تم دمج Firebase بشكلٍ كامل مع Google Cloud. تتم مشاركة المشاريع بين Firebase وGoogle Cloud، لذا يمكن أن تكون خدمات Firebase وGoogle Cloud مفعَّلة في المشاريع. يمكنك الوصول إلى المشروع نفسه من وحدة تحكّم Firebase أو وحدة تحكّم Google Cloud. على وجه التحديد:

  • توفّر Google Cloud ضمانًا مباشرًا لبعض منتجات Firebase، مثل Cloud Storage for Firebase. ستستمر قائمة المنتجات المتوافقة مع Google Cloud في النمو بمرور الوقت.
  • تشارك Firebase وGoogle Cloud العديد من إعداداتك، بما في ذلك معلومات المساهمين في الإصدار والملف الشخصي للفوترة. يظهر استخدامك لكل من Firebase وGoogle Cloud في الفاتورة نفسها.

بالإضافة إلى ذلك، عند الترقية إلى خطة Blaze، يمكنك استخدام أي من خدمات Google Cloud المميّزة عالميًا "البنية الأساسية كخدمة" وواجهات برمجة التطبيقات مباشرةً داخل مشروعك على Firebase، وذلك بالسعر العادي لخدمات Google Cloud. يمكنك أيضًا تصدير البيانات من Google Cloud مباشرةً إلى BigQuery لتحليلها. لمزيد من المعلومات، اطّلِع على مقالة ربط BigQuery بمنصّة Firebase.

هناك العديد من المزايا التي تُحسِّن الأمان وتُقلِّل من وقت الاستجابة وتوفّر الوقت عند استخدام Google Cloud مع Firebase (مقارنةً بخدمات السحابة المتوفّرة في مواقع جغرافية مختلفة). يُرجى الانتقال إلى موقع Google Cloud الإلكتروني للاطّلاع على مزيد من التفاصيل.

في صفحة "التصنيفات" لمشروعك في وحدة تحكّم Google Cloud، قد يظهر لك تصنيف بعنوان firebase:enabled (على وجه التحديد، Key من firebase مع Value من enabled).

أضافت Firebase هذا التصنيف تلقائيًا لأنّ مشروعك هو مشروع على Firebase، ما يعني أنّ مشروعك يتضمّن إعدادات وخدمات خاصة بمنصّة Firebase. اطّلِع على مزيد من المعلومات عن العلاقة بين مشاريع Firebase وGoogle Cloud.

ننصح بشدة بعدم تعديل هذا التقييم أو حذفه. يستخدم كلّ من Firebase وGoogle Cloud هذا التصنيف لعرض مشاريعك على Firebase (على سبيل المثال، باستخدام نقطة نهاية واجهة برمجة التطبيقات REST projects.list أو في القوائم ضمن وحدة تحكّم Firebase).

يُرجى العِلم أنّ إضافة هذا التصنيف يدويًا إلى قائمة تصنيفات المشاريع لا يؤدي إلى تفعيل الإعدادات والخدمات الخاصة بخدمة Firebase لمشروعك Google Cloud. لإجراء ذلك، عليك إضافة Firebase باستخدام وحدة تحكّم Firebase (أو واجهة برمجة التطبيقات REST API لميزة "إدارة Firebase" أو Firebase سطر الأوامر) في حالات الاستخدام المتقدّمة.

تنطبق هذه الأسئلة الشائعة إذا لم يظهر لك مشروعك على Firebase في الأماكن التالية:

  • في قائمة المشاريع التي تطّلع عليها ضمن وحدة تحكّم Firebase
  • في الاستجابة من طلب واجهة برمجة تطبيقات projects.list
  • في الردّ من تشغيل أمر Firebase CLI firebase projects:list

جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:

  1. أولاً، حاوِل الوصول إلى مشروعك من خلال الانتقال إلى عنوان URL للمشروع مباشرةً. استخدِم التنسيق التالي:
    https://console.firebase.google.com/project/PROJECT_ID/overview
  2. إذا لم تتمكّن من الوصول إلى المشروع أو تلقّيت أخطاء في الأذونات، تحقّق مما يلي:
    • تأكَّد من تسجيل الدخول إلى Firebase باستخدام حساب Google نفسه الذي يتضمّن إذن الوصول إلى المشروع. يمكنك تسجيل الدخول إلى وحدة تحكّم Firebase وتسجيل الخروج منها من خلال صورتك الرمزية في حسابك في أعلى يسار وحدة التحكّم.
    • تحقّق ممّا إذا كان بإمكانك عرض المشروع في وحدة تحكّم Google Cloud.
    • تأكَّد من أنّ مشروعك يتضمّن التصنيف firebase:enabled في صفحة "التصنيفات" لمشروعك في وحدة تحكّم Google Cloud. تستخدم Firebase وGoogle Cloud هذا التصنيف لعرض مشاريعك على Firebase. إذا لم يظهر لك هذا التصنيف ولكن كانت واجهة برمجة التطبيقات Firebase Management API مفعّلة لمشروعك، أضِف التصنيف يدويًا (على وجه التحديد، Key من firebase مع Value من enabled).
    • تأكَّد من أنّه تم إسناد أحد أدوار إدارة الهوية وإمكانية الوصول الأساسية (المالك، المحرِّر، المُشاهد) أو دور يتضمّن أذونات ذات صلة بمنصّة Firebase، على سبيل المثال، دور pre-defined في Firebase. يمكنك الاطّلاع على أدوارك في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.
    • إذا كان مشروعك ينتمي إلى مؤسسة Google Cloud، قد تحتاج إلى أذونات إضافية للاطّلاع على المشروع المدرَج في كونسول Firebase. تواصَل مع الشخص الذي يدير Google Cloud مؤسستك لمنحك الدور المناسب لعرض المشروع، مثلاً دور "المتصفّح".

إذا لم تتمكن من الاطّلاع على مشروعك في قائمة مشاريع Firebase بعد اتّباع خطوات تحديد المشاكل وحلّها أعلاه، يُرجى التواصل مع فريق دعم Firebase.

  • خطة أسعار Spark: تقتصر حصة إنشاء المشاريع على عدد صغير من المشاريع (عادةً ما يتراوح بين 5 و10).
  • خطة أسعار Blaze: إنّ الحصة المخصّصة لإنشاء المشاريع لا تزال محدودة، ولكن قد تزيد عند ربط حساب Cloud Billing في وضع جيد.

نادرًا ما يشكّل الحدّ الأقصى لحصة إنشاء المشاريع مصدر قلق لمعظم المطوّرين، ولكن إذا لزم الأمر، يمكنك طلب زيادة حصة المشاريع.

يُرجى العِلم أنّ حذف مشروع بالكامل يستغرق 30 يومًا ويتم احتسابه ضمن حصة المشروع إلى أن يتم حذفه بالكامل.

مشروع Firebase هو حاوية لتطبيقات Firebase على أجهزة Apple وAndroid والمواقع الإلكترونية. تفرض Firebase قيودًا على إجمالي عدد تطبيقات Firebase ضمن مشروع Firebase، بحيث لا يتجاوز 30 تطبيقًا.

وبعد هذا العدد، يبدأ الأداء في الانخفاض (خاصةً بالنسبة إلى Google Analytics)، وفي النهاية، عند استخدام عدد أكبر من التطبيقات، تتوقف بعض وظائف منتجاتك عن العمل. بالإضافة إلى ذلك، إذا كنت تستخدم ميزة "تسجيل الدخول باستخدام حساب Google" كمقدّم مصادقة، يتم إنشاء معرّف عميل أساسي لبروتوكول OAuth 2.0 لكل تطبيق في مشروعك. يمكن إنشاء 30 معرّف عميل بحد أقصى في مشروع واحد.

يجب التأكّد من أنّ جميع تطبيقات Firebase ضمن مشروع واحد على Firebase هي نُسخ مخصّصة للأنظمة الأساسية للتطبيق نفسه من منظور المستخدم النهائي. على سبيل المثال، إذا كنت تُطوّر تطبيقًا يحمل علامة بيضاء، يجب أن يكون لكل تطبيق يحمل علامة مستقلة مشروع Firebase خاص به، ولكن يمكن أن يكون إصدارا Apple وAndroid من هذه العلامة في المشروع نفسه. يمكنك الاطّلاع على إرشادات أكثر تفصيلاً في مقالة أفضل الممارسات العامة لإعداد مشاريع Firebase.

في الحالات النادرة التي يتطلّب فيها مشروعك أكثر من 30 تطبيقًا، يمكنك طلب زيادة الحد الأقصى المسموح به للتطبيقات. يجب أن يكون مشروعك مُدرَجًا في خطة أسعار Blaze لطرح هذا الطلب. يُرجى الانتقال إلى وحدة تحكّم Google Cloud لتقديم طلبك وتقييمه. اطّلِع على مزيد من المعلومات عن إدارة الحصص في مستندات Google Cloud.

في وحدة تحكّم Firebase، يمكنك الإشارة إلى مشاريعك على Firebase باستخدام نوع البيئة، إما الإصدار العلني أو غير محدّد (غير الإصدار العلني).

لا يؤثّر وضع علامة على مشروعك كنوع بيئة في كيفية عمل مشروعك على Firebase أو ميزاته. ومع ذلك، يمكن أن تساعدك عملية وضع العلامات أنت وفردك في إدارة مشاريعك المختلفة على Firebase لدورة حياة التطبيق.

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

لتغيير نوع البيئة في مشروعك على Firebase، انتقِل إلى إعدادات المشروع > عام، ثم في بطاقة مشروعك ضمن البيئة، انقر على لتغيير نوع البيئة.

في وحدة تحكّم Firebase، انتقِل إلى إعدادات المشروع. انتقِل للأسفل إلى بطاقة تطبيقاتك، ثم انقر على تطبيق Firebase المطلوب لعرض معلومات التطبيق، بما في ذلك رقم تعريف التطبيق.

في ما يلي بعض الأمثلة على قيم معرّف التطبيق:

  • تطبيقات Firebase لنظام التشغيل iOS: 1:1234567890:ios:321abc456def7890
  • تطبيقات Firebase لنظام التشغيل Android: 1:1234567890:android:321abc456def7890
  • تطبيقات الويب من Firebase: 1:1234567890:web:321abc456def7890
  • لربط حسابك على Google Play، يجب استيفاء الشروط التالية:
    • أيٌّ من الدورَين التاليَين في Firebase: المالك أو مشرف Firebase
    • أيّ من مستويَي الوصول التاليَين في Google Play: مالك الحساب أو المشرف
  • لربط تطبيق AdMob، يجب أن تكون صاحب مشروع على Firebase ومسؤول AdMob.
  • لربط حسابك على AdWords، يجب أن تكون صاحب مشروع على Firebase ومشرفًا على AdWords.
  • لربط مشروعك على BigQuery، يجب أن تكون صاحب مشروع Firebase.

على منصات Apple، يحتوي حِزمة Firebase على ملف NOTICES يتضمّن الإدخالات ذات الصلة. تحتوي حزمة تطوير البرامج (SDK) لمنصّة Android من Firebase على مساعد Activity لعرض معلومات الترخيص.

الأذونات والوصول إلى مشاريع Firebase

لإدارة الأدوار المخصّصة لكل عضو في المشروع، يجب أن تكون مالكًا لمشروع Firebase (أو أن يتم منحك دورًا يتضمن الإذن resourcemanager.projects.setIamPolicy).

في ما يلي الأماكن التي يمكنك فيها منح الأدوار وإدارتها:

إذا لم يعُد بإمكان مالك مشروعك تنفيذ مهام مالك (على سبيل المثال، إذا غادر الشخص شركتك) ولم يكن مشروعك مُدارًا من خلال Google Cloud مؤسسة (راجِع الفقرة التالية)، يمكنك التواصل مع فريق دعم Firebase والاستفسار منه عن كيفية طلب الوصول إلى مشروع Firebase.

يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، قد لا يكون له مالك. إذا لم تتمكّن من العثور على مالك لمشروعك على Firebase، تواصَل مع الشخص الذي يدير Google Cloud مؤسستك لتعيين مالك للمشروع.

يمكنك الاطّلاع على أعضاء المشروع وأدوارهم في الأماكن التالية:

  • إذا كان بإمكانك الوصول إلى المشروع في وحدة تحكّم Firebase، يمكنك الاطّلاع على قائمة أعضاء المشروع، بما في ذلك المالكين، في صفحة "المستخدمون والأذونات" في وحدة تحكّم Firebase.
  • إذا لم يكن بإمكانك الوصول إلى المشروع في وحدة تحكّم Firebase، تحقّق مما إذا كان بإمكانك الوصول إلى المشروع في وحدة تحكّم Google Cloud. يمكنك الاطّلاع على قائمة أعضاء المشروع، بما في ذلك المالكين، في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.

إذا لم يعُد بإمكان مالك مشروعك تنفيذ مهام المالك (على سبيل المثال، إذا غادر المستخدم شركتك) ولم يكن مشروعك مُدارًا من خلال مؤسسة Google Cloud (راجِع الفقرة التالية)، يمكنك التواصل مع فريق دعم Firebase لتعيين مالك مؤقت.

يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، قد لا يكون له مالك. بدلاً من ذلك، يمكن للمستخدم الذي يدير Google Cloud مؤسستك تنفيذ العديد من المهام التي يمكن للمالك تنفيذها. ومع ذلك، لنتمكّن من تنفيذ العديد من المهام الخاصة بالمالك (مثل منح الأدوار أو إدارة Google Analytics المواقع)، قد يحتاج المشرف إلى منح himself دور المالك الفعلي من أجل تنفيذ هذه المهام. إذا لم تتمكّن من العثور على مالك لمشروعك على Firebase، تواصَل مع الشخص الذي يدير مؤسستك على Google Cloud لتحديد مالك للمشروع.

لضمان الإدارة المناسبة لمشروع Firebase، يجب أن يكون لديه مالك.

إنّ أعضاء المشروع الذين لديهم دور "المالك" هم غالبًا الأعضاءالوحيدون في المشروع الذين يمكنهم تنفيذ المهام administrative أو تلقّي الإشعارات المهمة:

  • غالبًا ما يكون أعضاء المشروع الذين لديهم دور "المالك" هم الأعضاء الوحيدون الذين يمكنهم تنفيذ الإجراءات الإدارية المهمة (مثل منح الأدوار وإدارة Google Analytics المواقع)، ولا يمكن لفريق دعم Firebase تلبية سوى الطلبات الإدارية الواردة من مالكي المشاريع الذين تم إثبات هويتهم.
  • غالبًا ما يكون أعضاء المشروع الذين لديهم دور "المالك" هم الأعضاء الوحيدون الذين recebem (تلقّي) إشعارات (تلقائيًا) بشأن التغييرات في المشروع أو المنتجات (مثل التغييرات القانونية والفوترة وإيقاف الميزات نهائيًا وما إلى ذلك). يمكنك اختياريًا تخصيص "جهات الاتصال الأساسية" لمشروعك إذا كنت تريد أن يتلقّى أعضاء مشروع محدّدين أو إضافيين إشعارات.

بعد إعداد مالكي مشروع على Firebase، من المهم إبقاء هذه التعيينات محدّثة.

يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، يمكن للمستخدم الذي يديرها تنفيذ العديد من المهام التي يمكن للمالك تنفيذها. ومع ذلك، بالنسبة إلى العديد من المهام الخاصة بالمالك (مثل منح الأدوار أو إدارة مواقع Google Analytics)، قد يحتاج المشرف إلى منح نفسه دور المالك الفعلي لتنفيذ هذه المهام.Google Cloud

من المفترض أن يتضمّن البريد الإلكتروني الذي تلقّيته رابطًا لفتح مشروعك على Firebase. من المفترض أن يؤدي النقر على الرابط في الرسالة الإلكترونية إلى فتح المشروع في وحدة تحكّم Firebase.

إذا لم تتمكّن من فتح المشروع في الرابط، تأكَّد من تسجيل الدخول إلى Firebase باستخدام حساب Google نفسه الذي تلقّى الرسالة الإلكترونية بشأن المشروع. يمكنك تسجيل الدخول إلى وحدة تحكّم Firebase وتسجيل الخروج منها من خلال صورتك الرمزية في حسابك في أعلى يسار وحدة التحكّم.

يُرجى العلم أنّه إذا كنت مشرفًا في مؤسسة Google Cloud، قد يتم إعلامك بالتغييرات التي تطرأ على مشاريع Firebase داخل مؤسستك. ومع ذلك، قد لا تتوفّر لديك أذونات كافية لفتح مشروع Firebase. في هذه الحالات، أبسط حلّ هو منح نفسك دور المالك الفعلي لفتح المشروع وتنفيذ الإجراءات المطلوبة. مزيد من المعلومات حول سبب منح دور "المالك" وحالات منحه



المنصّات والأُطر

يمكنك الانتقال إلى صفحات الأسئلة الشائعة وتحديد المشاكل وحلّها الخاصة بالمنصة للحصول على نصائح مفيدة واطلاع على المزيد من الأسئلة الشائعة.



وحدة تحكّم Firebase

يمكن الوصول إلى وحدة تحكّم Firebase من أحدث إصدارات المتصفّحات الشائعة المتوافقة مع أجهزة الكمبيوتر المكتبي، مثل Chrome وFirefox وSafari وEdge. لا تتوفّر المتصفّحات المتوافقة مع الأجهزة الجوّالة بشكل كامل حاليًا.

تنطبق هذه الأسئلة الشائعة في حال مواجهة أيّ من المشاكل التالية:

  • تعرِض وحدة تحكّم Firebase صفحة خطأ تشير إلى أنّه قد لا يكون مشروعك متوفّرًا أو أنّه لا يمكنك الوصول إليه.
  • لا تعرض وحدة تحكّم Firebase مشروعك حتى عند إدخال رقم تعريف المشروع أو اسمه في حقل البحث في وحدة التحكّم.

جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:

  1. أولاً، حاوِل الوصول إلى مشروعك من خلال الانتقال إلى عنوان URL للمشروع مباشرةً. استخدِم التنسيق التالي:
    https://console.firebase.google.com/project/PROJECT-ID/overview
  2. إذا لم تتمكّن من الوصول إلى المشروع أو تلقّيت أخطاء في الأذونات، تحقّق مما يلي:
    • تأكَّد من تسجيل الدخول إلى Firebase باستخدام حساب Google نفسه الذي يتضمّن إذن الوصول إلى المشروع. يمكنك تسجيل الدخول إلى وحدة تحكّم Firebase وتسجيل الخروج منها من خلال صورتك الرمزية في حسابك في أعلى يسار وحدة التحكّم.
    • تأكَّد من أنّه تم تفعيل واجهة برمجة التطبيقات Firebase Management API لمشروع.
    • تأكَّد من أنّه تم إسناد أحد أدوار إدارة الهوية وإمكانية الوصول الأساسية (المالك أو المحرِّر أو المُشاهد) أو دور يتضمّن أذونات ذات صلة بمنصّة Firebase، مثلاً دور pre-defined في Firebase. يمكنك الاطّلاع على أدوارك في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.
    • إذا كان مشروعك ينتمي إلى مؤسسة Google Cloud، قد تحتاج إلى أذونات إضافية للاطّلاع على المشروع المدرَج في كونسول Firebase. تواصَل مع الشخص الذي يدير Google Cloud مؤسستك لمنحك الدور المناسب لعرض المشروع، مثلاً دور "المتصفّح".

إذا لم تتمكن من العثور على مشروعك أو الوصول إليه من خلال أي من خطوات تحديد المشاكل وحلّها أعلاه، يُرجى التواصل مع فريق دعم Firebase.

تنطبق هذه الأسئلة الشائعة في حال مواجهة أيّ من المشاكل التالية:

  • لا تكتمل عملية تحميل صفحة في وحدة تحكّم Firebase أبدًا.
  • لا يتم تحميل البيانات داخل الصفحة على النحو المتوقّع.
  • تظهر لك رسائل خطأ في المتصفّح عند تحميل وحدة تحكّم Firebase.

جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:

  1. تحقَّق من صف وحدة التحكّم في لوحة بيانات حالة Firebase بحثًا عن أي انقطاعات محتملة في الخدمة
  2. تأكَّد من استخدام متصفّح متوافق.
  3. حاوِل تحميل وحدة تحكّم Firebase في نافذة تصفّح متخفٍّ أو نافذة خاصة.
  4. أوقِف جميع إضافات المتصفّح.
  5. تأكَّد من أنّ اتصال الشبكة غير محظور من خلال أداة حظر الإعلانات أو برنامج مكافحة الفيروسات أو الخادم الوكيل أو جدار الحماية أو أي برنامج آخر.
  6. جرِّب تحميل وحدة تحكّم Firebase باستخدام شبكة أو جهاز مختلفَين.
  7. إذا كنت تستخدم Chrome، تحقّق من وحدة تحكّم أدوات المطوّرين بحثًا عن أي أخطاء.

إذا لم تنجح أي من خطوات تحديد المشاكل وحلّها أعلاه في حلّ المشكلة، يُرجى التواصل مع فريق دعم Firebase.

تستند إعدادات اللغة في وحدة تحكّم Firebase إلى اللغة التي اخترتها في إعدادات حسابك على Google.

لتغيير إعدادات اللغة المفضّلة، يُرجى الاطّلاع على مقالة تغيير اللغة.

تتوفّر وحدة تحكّم Firebase باللغات التالية:

  • الإنجليزية
  • البرتغالية البرازيلية
  • مأكولات فرنسية
  • الألمانية
  • الإندونيسية
  • اليابانية
  • الكورية
  • الروسية
  • الصينية المبسطة
  • الإسبانية
  • الصينية التقليدية

تستخدِم كلّ من وحدة تحكّم Firebase ووحدة تحكّم Google Cloud الأدوار والأذونات الأساسية نفسها. اطّلِع على مزيد من المعلومات عن الأدوار والأذونات في مستندات إدارة الهوية وإمكانية الوصول في Firebase.

تتيح Firebase الأدوار الأساسية (الأساسية) للمالك والمحرِّر والمُشاهد:

  • يمكن لمالك المشروع إضافة أعضاء آخرين إليه، وإعداد عمليات الدمج (ربط المشروع بخدمات مثل BigQuery أو Slack)، كما يمكنه الوصول الكامل للتعديل في المشروع.
  • يحصل محرِّر المشروع على إذن وصول كامل للتعديل في المشروع.
  • لا يملك المُشاهد في المشروع إذن وصول سوى للقراءة. يُرجى العِلم أنّ وحدة تحكّم Firebase لا تخفي/توقِف حاليًا إمكانية تعديل عناصر التحكّم في واجهة المستخدم من "المشاهدين" في المشروع، ولكن ستتعذّر تنفيذ هذه العمليات على أعضاء المشروع الذين تم منحهم دور "المشاهد".

تتيح Firebase أيضًا ما يلي:

  • الأدوار المحدّدة مسبقًا في Firebase هي أدوار مُعدّة خصيصًا لخدمة Firebase تتيح التحكّم في الوصول بدقة أكبر من الأدوار الأساسية "المالك" و"المحرِّر" و"المشاهد".
  • الأدوار المخصَّصة — أدوار إدارة الهوية وإمكانية الوصول المخصَّصة بالكامل التي تنشئها لتخصيص مجموعة من الأذونات التي تستوفي المتطلبات المحدّدة لمؤسستك.



Firebase Local Emulator Suite

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

كان هذا مصدرًا شائعًا للارتباك بين المطوّرين، لذا لن يسمح Local Emulator Suite تلقائيًا الآن إلا بالتشغيل باستخدام معرّف مشروع واحد، ما لم تحدّد غير ذلك في ملف إعدادات firebase.json. إذا رصد المحاكي أكثر من رقم تعريف مشروع واحد، سيُسجِّل تحذيرًا وقد يُرسِل خطأ فادحًا.

تحقَّق من بيانات تعريف المشروع بحثًا عن أيّ عدم تطابق في ما يلي:

  • المشروع التلقائي الذي تم ضبطه في سطر الأوامر: بشكلٍ تلقائي، سيتم استخدام رقم تعريف المشروع عند بدء التشغيل من المشروع الذي تم اختياره باستخدام firebase init أو firebase use. لعرض قائمة المشاريع (والاطّلاع على المشروع المحدّد)، استخدِم رمز firebase projects:list.
  • اختبارات الوحدة: غالبًا ما يتم تحديد رقم تعريف المشروع في طلبات إلى طُرق مكتبة اختبار وحدات القواعد initializeTestEnvironment أو initializeTestApp. قد يتمّ بدء رمز الاختبار الآخر بالرقم initializeApp(config).
  • علامة سطر الأوامر --project يؤدي استخدام العلامة Firebase واجهة سطر الأوامر --project إلى إلغاء المشروع التلقائي. عليك التأكّد من أنّ قيمة العلامة تتطابق مع معرّف المشروع في اختبارات الوحدات وعمليات إعداد التطبيق.

الأماكن التي يجب التحقّق منها حسب المنصة:

الويب سمة projectId في كائن JavaScript firebaseConfig، المستخدَم في initializeApp
Android سمة project_id داخل ملف الضبط google-services.json
منصّات Apple الموقع الإلكتروني PROJECT_ID فيملف الضبط GoogleService-Info.plist

لإيقاف وضع المشروع الفردي، عدِّل firebase.json باستخدام المفتاح singleProjectMode:

{
  "firestore": {
    ...
  },
  "functions": {
    ...
  },
  "hosting": {
    ...
  },
  "emulators": {
    "singleProjectMode": false,
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    ...
  }
}



الأسعار

للحصول على الأسئلة الشائعة حول الأسعار الخاصة بمنتج معيّن، يُرجى الاطّلاع على قسم المنتج في هذه الصفحة أو ضمن مستندات المنتج المخصّصة.

منتجات Firebase المدفوعة للبنية الأساسية هي Realtime Database، Cloud Storage for Firebase، Cloud Functions، Hosting، Test Lab، ومصادقة الهاتف. نوفّر فئة مجانية لجميع هذه الميزات.

تتوفّر في Firebase أيضًا العديد من المنتجات المجانية: Analytics وCloud Messaging و"أداة إنشاء الإشعارات"، Remote Config وApp Indexing وDynamic Links، Crash Reporting. يخضع استخدام هذه المنتجات فقط لسياسات التحكّم في عدد الزيارات الخاصة بالمنتج (مثل الحصص والوصول العادل وغيرها من وسائل حماية الخدمة) في جميع الخطط، بما في ذلك خطة Spark التي لا تتطلّب أي رسوم. بالإضافة إلى ذلك، يمكنك استخدام جميع ميزات Authentication بدون أي رسوم، بما في ذلك ميزات تأكيد الهوية باستخدام الهاتف.

يمكن استخدام خدمات Firebase المدفوعة بموجب Google Cloud الفترة التجريبية المجانية. يمكن لمستخدمي Google Cloud وFirebase الجدد الاستفادة من فترة تجريبية مدتها 90 يومًا تتضمّن رصيدًا مجانيًا بقيمة 300 دولار أمريكي (أو ما يعادله بالعملة المحلية) لاستكشاف وتقييم منتجات Google Cloud وFirebase وخدماتها.Cloud Billing

خلال فترة الفترة التجريبية المجانية التي تبلغ Google Cloud، سيتم تزويدك بحساب Cloud Billing مجاني. أي مشروع على Firebase يستخدم حساب الفوترة هذا سيكون ضمن خطة أسعار Blaze خلال فترة الفترة التجريبية المجانية.

لا داعي للقلق، فإعداد حساب Cloud Billing هذا للاستفادة من الفترة التجريبية المجانية لا يمكّننا من تحصيل رسوم منك. لا يتم تحصيل رسوم منك إلا إذا فعّلت الفوترة صراحةً من خلال ترقية حسابك في الفترة التجريبية المجانية على Cloud Billing إلى حساب مدفوع. يمكنك الترقية إلى حساب مدفوع في أي وقت خلال الفترة التجريبية. بعد الترقية، سيظل بإمكانك استخدام أي رصيد متبقٍّ (خلال فترة 90 يومًا).

بعد انتهاء الفترة التجريبية المجانية، عليك إما الرجوع بمشروعك إلى خطط أسعار Spark أو إعداد خطة أسعار Blaze في وحدة تحكّم Firebase لمواصلة استخدام مشروعك على Firebase.

اطّلِع على مزيد من المعلومات حول الفترة التجريبية المجانية من Google Cloud.

خطة أسعار Spark

توفّر خطة Spark مكانًا رائعًا لتطوير تطبيقك بدون أي تكلفة. يمكنك الحصول على كل الميزات المجانية في Firebase (Analytics و"أداة إنشاء الإشعارات" Crashlytics وما إلى ذلك) وكميات كبيرة من ميزات البنية الأساسية المدفوعة. ومع ذلك، إذا تجاوزت موارد خطة Spark في شهر تقويمي، سيتم إيقاف تطبيقك لبقية ذلك الشهر. بالإضافة إلى ذلك، لا تتوفر ميزات Google Cloud عند استخدام خطة Spark.

خطة أسعار Blaze

تم تصميم خطة Blaze لتطبيقات الإنتاج. تتيح لك خطة Blaze أيضًا توسيع نطاق تطبيقك من خلال ميزات Google Cloud مدفوعة. لا تدفع إلا مقابل الموارد التي تستخدِمها، ما يتيح لك التوسّع وفقًا للطلب. نسعى جاهدين إلى جعل أسعار خطة Blaze تنافسية مقارنةً بأسعار مقدمي خدمات الحلول السحابية الرائدين في المجال.

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

يتم احتساب الاستخدام بدون تكلفة في خطة Blaze يوميًا. تختلف حدود الاستخدام أيضًا عن خطة Spark في ما يتعلق بCloud Functions، والمصادقة باستخدام الهاتف، وTest Lab.

بالنسبة إلى Cloud Functions، يتم احتساب الاستخدام بدون تكلفة في خطة Blaze على مستوى حساب Cloud Billing، وليس على مستوى المشروع، ويخضع للحدود التالية:

  • مليونَا عملية استدعاء في الشهر
  • ‫400,000 غيغابايت في الثانية في الشهر
  • ‫200,000 وحدة معالجة مركزية في الثانية/شهر
  • ‫5 غيغابايت من معدل نقل البيانات إلى الشبكة في الشهر

بالنسبة إلى مصادقة الهاتف، يتم احتساب الاستخدام بدون تكلفة في خطة Blaze شهريًا.

بالنسبة إلى Test Lab، يخضع الاستخدام بدون تكلفة في خطة Blaze للحدود التالية:

  • 30 دقيقة على الجهاز الفعلي في اليوم
  • ‫60 دقيقة للجهاز الافتراضي في اليوم

يتم تضمين الاستخدام بدون تكلفة من خطة Spark في خطة Blaze. لا تتم إعادة ضبط مساحة التخزين المتوفّرة بدون تكلفة عند الانتقال إلى خطة Blaze.

في حال إضافة حساب Cloud Billing إلى مشروع في وحدة تحكّم Google Cloud، ستتم ترقية المشروع نفسه تلقائيًا إلى خطة Firebase Blaze إذا كان هذا المشروع مُدرَجًا حاليًا في خطة Spark.

في المقابل، في حال إزالة حساب Cloud Billing حالي ونشط من مشروع في وحدة تحكّم Google Cloud، سيتم الرجوع بهذا المشروع إلى خطة Firebase Spark.

يمكنك تتبُّع استخدامك لموارد المشروع في وحدة تحكّم Firebase على أيّ من لوحات البيانات التالية:

لا، لا يمكنك حاليًا تحديد حد أقصى لاستخدام خطة Blaze. نحن نُقيّم خيارات وضع حدود قصوى على استخدام خطة Blaze.

يمكن لمستخدمي Blaze تحديد ميزانية لمشروعهم أو حسابهم، وملء نموذج تلقّي تنبيهات عندما يقترب إنفاقهم من هذه الحدود. تعرَّف على كيفية إعداد تنبيهات الميزانية.

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

يمكن لأي نوع من الأفراد أو المؤسسات استخدام خطة Spark، بما في ذلك المؤسسات غير الربحية والمدارس ومشاريع المحتوى المفتوح المصدر. بما أنّ هذه الخطط تتضمّن حصصًا كبيرة، لا نقدّم أي خصومات أو خطط خاصة للمشاريع غير الربحية أو التعليمية أو المشاريع التي تستخدم مصدرًا مفتوحًا.

إنّ خطة Blaze مناسبة للمؤسسات بجميع أحجامها، واتفاقية مستوى الخدمة الخاصة بنا تلبي معايير المجال للبنية الأساسية في السحابة الإلكترونية أو تتجاوزها. ومع ذلك، لا نقدّم حاليًا عقودًا أو أسعارًا أو دعمًا للمؤسسات، ولا نقدّم أيضًا استضافة بنية أساسية مخصّصة (أي عمليات التثبيت على الموقع) لخدمات مثل Realtime Database. نحن نعمل جاهدين على إضافة بعض هذه الميزات.

نقدّم أسعارًا مخصّصة في خطة Blaze، حيث تدفع فقط مقابل الميزات التي تستخدمها.

تختلف خطط أسعار Firebase عن Ads، لذا لا تتوفّر أرصدة إعلانية بدون تكلفة. بصفتك مطوّرًا على Firebase، يمكنك "ربط" حسابك على Ads بمنصّة Firebase لأجل تفعيل ميزة تتبُّع الإحالات الناجحة.

تتم إدارة جميع الحملات الإعلانية مباشرةً في Ads، ويُدار حساب Ads من وحدة تحكّم Ads.

في كانون الثاني (يناير) 2020، تمت إزالتها كخيار للاشتراكات الجديدة. تم منح مستخدمي الخطة الحالية فترة سماح لنقل مشاريعهم من خطة Flame. في شباط (فبراير) 2022، تم خفض اشتراك الخطط المتبقية في Flame إلى خطة Spark.
بناءً على ذلك،

  • لن يعود بإمكان مشاريع خطتَي Spark وBlaze الحالية وأي مشاريع جديدة التبديل إلى خطة Flame أو الاشتراك فيها.
  • إذا نقلت مشروعًا حاليًا في خطة Flame إلى خطة أسعار مختلفة، لا يمكن إرجاع المشروع إلى خطة Flame.
  • يمكن ترقية المشاريع التي تم الرجوع فيها إلى خطة Spark إلى خطة Blaze لاستئناف الخدمات المدفوعة الإضافية.
  • تمت إزالة الإشارات إلى خطة Flame من المستندات.

هل لديك أسئلة أخرى حول إيقاف خطة Flame نهائيًا؟ يمكنك الاطّلاع على بعض الأسئلة الشائعة الإضافية أدناه.

هل تريد الاطّلاع على خطط الأسعار الأخرى التي تقدّمها Firebase؟ يُرجى الانتقال إلى صفحة أسعار Firebase. إذا أردت بدء نقل أي مشاريع حالية إلى خطة أسعار أخرى، يمكنك إجراء ذلك في وحدة تحكّم Firebase لمشروعك.

أسئلة شائعة إضافية حول إيقاف خطة Flame نهائيًا

اشترِك في خطة أسعار Blaze، واحرص على ضبط تنبيهات بشأن الميزانية.

لا، لا تقدّم Firebase إذن وصول خاصًا للمشاريع للتبديل إلى خطة Flame أو الاشتراك فيها.

لم يعُد من الممكن التبديل إلى خطة Flame. للوصول إلى الخدمات التي تقدّمها خطة Flame، تأكَّد من استخدام خطة أسعار Blaze، وننصح بالتفكير في إعداد تنبيهات الميزانية لمشروعك.

إذا كان مشروعك يتطلّب حصة إضافية تتجاوز ما يتم توفيره في خطة Spark، عليك ترقية مشروعك إلى خطة أسعار Blaze.

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



الخصوصية

اطّلِع على الصفحة الخصوصية والأمان في Firebase.

نعم. تتوفّر هذه الميزة حاليًا على أجهزة iOS فقط، ولكن قد تتغيّر في المستقبل. تتضمّن حزمة تطوير البرامج (SDK) لمنصّات Apple في Firebase إطار عمل FirebaseCoreDiagnostics تلقائيًا. يستخدم Firebase هذا الإطار لجمع معلومات استخدام حزمة تطوير البرامج (SDK) ومعلومات بيانات التشخيص للمساعدة في تحديد أولويات تحسينات المنتجات القادمة. الإعداد FirebaseCoreDiagnostics اختياري، لذا إذا أردت إيقاف إرسال سجلات بيانات تشخيص Firebase، يمكنك إجراء ذلك من خلال إلغاء ربط المكتبة بتطبيقك. يمكنك تصفُّح المصدر الكامل، بما في ذلك القيم المسجّلة، على GitHub.



A/B Testing

يُسمح لك بإنشاء ما يصل إلى 300 تجربة لكل مشروع، ويمكن أن تتألف من 24 تجربة قيد التنفيذ كحد أقصى، مع تصنيف الباقي على أنّه مسودة أو مكتملة.

سيؤدي الربط بموقع Google Analytics مختلف إلى فقدان إمكانية الوصول إلى التجارب التي تم إنشاؤها مسبقًا. لاستعادة إمكانية الوصول إلى تجربة سابقة، عليك إعادة ربط مشروعك بموقع Google Analytics الذي تم ربطه عند إنشاء التجربة.

إذا سبق أن ربطت Firebase بخدمة "إحصاءات Google"، ولكن لا تزال تظهر لك رسالة تفيد بأنّه لم يتم ربط "إحصاءات Google"، تأكَّد من توفّر مصدر بيانات في "إحصاءات Google" لجميع التطبيقات في مشروعك. في الوقت الحالي، يجب ربط جميع التطبيقات في مشروع بمصدر بيانات على "إحصاءات Google" لاستخدام اختبار أ/ب.

يمكنك العثور على قائمة بجميع أحداث البث النشطة في صفحة تفاصيل دمج "إحصاءات Google" ضمن وحدة تحكّم Firebase، والتي يمكن الوصول إليها من إعدادات المشروع عمليات الدمج إحصاءات Google إدارة.

من المفترض أن يؤدي إنشاء مصدر بيانات على "إحصاءات Google" لأي تطبيق لا يتضمّن مصدر بيانات إلى حلّ المشكلة. تتوفّر بضع طرق لإنشاء أحداث بث للتطبيقات غير المتوفّرة:

  • إذا كان لديك تطبيق واحد أو تطبيقان فقط لا يتضمّنان مصدرًا مرتبطًا في "إحصاءات Google"، يمكنك اختيار إحدى الطريقتَين التاليتَين لإضافة مصدر في "إحصاءات Google":
    • حذف أي تطبيق لا يتضمّن بثًا نشطًا وإعادة إضافته في "وحدة تحكّم Firebase"
    • من وحدة تحكّم "إحصاءات Google"، اختَر المشرف، ثم انقر على مصادر البيانات، ثم انقر على إضافة مصدر، وأضِف تفاصيل التطبيق غير المتوفّرة، ثم انقر على تسجيل التطبيق.
  • إذا كان لديك أكثر من بضع مصادر بيانات تطبيقات غير متوفّرة، فإنّ إلغاء ربط موقعك على "إحصاءات Google" وإعادة ربطه هو الطريقة الأسرع والأكثر فعالية لإنشاء مصادر بيانات التطبيقات غير المتوفّرة:
    1. من إعدادات المشروع، انقر على عمليات الدمج.
    2. ضمن بطاقة إحصاءات Google، انقر على إدارة للوصول إلى إعدادات Firebase و"إحصاءات Google".
    3. دوِّن معرّف الموقع على "إحصاءات Google" و حساب "إحصاءات Google" المرتبط.
    4. انقر على المزيد واختَر إلغاء ربط "إحصاءات Google" بهذا المشروع.
    5. راجِع التحذير الذي يظهر (لا داعي للقلق، ستعيد ربط الموقع نفسه في الخطوة التالية)، ثم انقر على إلغاء ربط "إحصاءات Google".

      عند اكتمال إلغاء الربط، ستتم إعادة توجيهك إلى صفحة عمليات الدمج.
    6. ضمن بطاقة إحصاءات Google، انقر على تفعيل لبدء عملية إعادة الربط.
    7. اختَر حسابك على "إحصاءات Google" من قائمة اختيار حساب.
    8. بجانب إنشاء موقع جديد تلقائيًا في هذا الحساب، انقر على تعديل، واختَر معرّف موقعك من قائمة موقع "إحصاءات Google" التي تظهر.

      ستظهر قائمة بجميع التطبيقات في مشروعك. يتم إدراج عمليات الربط الحالية لمصادر البيانات لكل تطبيق، وسيتم إنشاء مصدر بيانات للتطبيقات التي لا تتضمّن مصدر بيانات.
    9. انقر على تفعيل "إحصاءات Google" لإعادة ربط الموقع.
    10. انقر على إنهاء.

إذا استمر ظهور خطأ عند محاولة إنشاء اختبارات A/B باستخدام ميزة "الإعداد عن بُعد" بعد تنفيذ هذه الخطوات، يُرجى التواصل مع فريق دعم Firebase.



AdMob

لا، تطبيقات Windows غير متوافقة حاليًا.

يمكنك ربط تطبيق AdMob بتطبيق Firebase من خلال وحدة تحكّم AdMob. تعرَّف على كيفية إجراء ذلك.

لإجراء هذا الربط، يجب أن يكون لديك إذن الوصول التالي:

  • AdMob: يجب أن تكون مشرفًا في AdMob.
  • Firebase: يجب أن يكون لديك إذن firebase.links.create ، وهو مُرفق بدور المالك ودور مشرف Firebase.
  • Google Analytics: يجب أن يكون لديك الدور "تعديل" أو الدور "إدارة المستخدِمين" للموقع المرتبط بمشروع Firebase. مزيد من المعلومات

بالنسبة إلى حسابات AdMob المتعدّدة المستخدمين، فإنّ المستخدم الذي أنشأ أول رابط بمنصّة Firebase ووافق على بنود خدمة Firebase هو المستخدم الوحيد الذي يمكنه إنشاء روابط جديدة بين تطبيقات AdMob وتطبيقات Firebase.

لاستخدام AdMob، استخدِم دائمًا حزمة SDK الخاصة بـ Google Mobile Ads كما هو موضّح في الأسئلة الشائعة هذه. بالإضافة إلى ذلك، إذا أردت جمع مقاييس سلوك المستخدِمين في AdMob، يمكنك تضمين حزمة تطوير البرامج (SDK) لمنصّة Google Analytics في تطبيقك.

  • بالنسبة إلى مشاريع iOS:
    استورِد حزمة تطوير البرامج (SDK) لنظام التشغيل Google Mobile Ads باتّباع التعليمات الواردة في مستندات AdMob لنظام التشغيل iOS.
  • بالنسبة إلى مشاريع Android:
    أضِف العنصر المعتمد لحزمة SDK الخاصة بـ Google Mobile Ads إلىملف build.gradle:
    implementation 'com.google.android.gms:play-services-ads:23.6.0'
  • بالنسبة إلى مشاريع C++ و مشاريع Unity: اتّبِع التعليمات الواردة في المستندات ذات الصلة.



إحصاءات Google

Google Analytics هو حلّ إحصاءات مجاني وغير محدود يعمل مع ميزات Firebase لتقديم إحصاءات فعّالة. ويتيح لك الاطّلاع على سجلّات الأحداث في Crashlytics وفعالية الإشعارات في FCM وأداء الروابط لصفحات معيّنة في Dynamic Links وبيانات عمليات الشراء داخل التطبيق من Google Play. وتوفّر هذه الميزة ميزة استهداف الجمهور المتقدّم في Remote Config وتخصيص Remote Config وغير ذلك.

يعمل Google Analytics كطبقة من الذكاء في كونسول Firebase لتزويدك بإحصاءات أكثر قابلية للاستخدام حول كيفية تطوير تطبيق عالي الجودة وتنمية قاعدة المستخدمين وتحقيق المزيد من الأرباح.

للبدء، اطّلِع على المستندات.

يتم تلقائيًا استخدام بيانات Google Analytics لتحسين ميزات Firebase وGoogle الأخرى. يمكنك التحكّم في كيفية مشاركة بيانات Google Analytics في إعدادات مشروعك في أي وقت. مزيد من المعلومات عن إعدادات مشاركة البيانات

من صفحة المشرف في موقعك على "إحصاءات Google"، يمكنك تعديل إعدادات موقعك، مثل:

  • إعدادات مشاركة البيانات
  • إعدادات الاحتفاظ بالبيانات
  • إعدادات المنطقة الزمنية والعملة

لتعديل إعدادات موقعك، اتّبِع الخطوات التالية:

  1. في وحدة تحكّم Firebase، انتقِل إلى > إعدادات المشروع.
  2. انتقِل إلى علامة التبويب عمليات الدمج، ثمّ انقر على إدارة أو عرض الرابط في بطاقة "إحصاءات Google".
  3. انقر على رابط حسابك على "إحصاءات Google" لفتح إعدادات الحساب والموقع.

نعم. اطّلِع على صفحة ضبط إعدادات جمع البيانات واستخدامها للحصول على مزيد من التفاصيل.

يمكنك العثور على ملخّص لهذه التغييرات في مقالة مركز مساعدة Firebase بعنوان وظائف "إحصاءات Google‏ 4" الجديدة في "إحصاءات Google لبرنامج Firebase".

تقع بيانات Analytics ضمن موقع "إحصاءات Google"، وليس ضمن مشروع Firebase. في حال حذف الموقع أو إلغاء ربطه، لن تتمكّن Firebase من الوصول إلى data Analytics، وستظهر أمامك لوحة بيانات Analytics فارغة في وحدة تحكّم Firebase. يُرجى العِلم أنّه بما أنّ البيانات لا تزال متوفّرة في الموقع الذي سبق ربطه، يمكنك متى شئت إعادة ربط الموقع بـ Firebase والاطّلاع على بيانات Analytics في وحدة تحكّم Firebase.

سيؤدي ربط حساب جديد على "إحصاءات Google" (وبالتالي، موقع جديد على "إحصاءات Google") بمشروعك على Firebase إلى ظهور لوحة تحكم Analytics فارغة في وحدة تحكّم Firebase. ومع ذلك، إذا كان موقعك المرتبط سابقًا لا يزال متوفّرًا، يمكنك نقل البيانات الحالية من الموقع القديم إلى الموقع الجديد.

لا، إذا تم حذف موقعك، لا يمكن إلغاء حذفه أو استرداد بيانات Analytics التي تم جمعها سابقًا وخزّنها في ذلك الموقع.

إذا أردت بدء استخدام "إحصاءات Google" مرة أخرى، يمكنك ربط إما موقعًا جديدًا أو موقعًا حاليًا بمشروعك على Firebase. يمكنك إجراء هذا الربط في وحدة تحكّم Firebase أو واجهة مستخدِم "إحصاءات Google". اطّلِع على مزيد من المعلومات عن ربط موقع على "إحصاءات Google" بمشروعك على Firebase.

إذا أردت بدء استخدام "إحصاءات Google" مرة أخرى، يمكنك ربط إما موقعًا جديدًا أو موقعًا حاليًا بمشروعك على Firebase. يمكنك إجراء هذا الربط في وحدة تحكّم Firebase أو واجهة مستخدم "إحصاءات Google". اطّلِع على مزيد من المعلومات عن ربط موقع على "إحصاءات Google" بمشروعك على Firebase.

يُرجى العِلم أنّه بما أنّ جميع بيانات Analytics يتم تخزينها في الموقع (وليس في مشروع Firebase)، لا يمكن retrieving بيانات Analytics التي تم جمعها سابقًا.

تعتمد العديد من منتجات Firebase على دمج "إحصاءات Google". في حال حذف موقعك على "إحصاءات Google" وبياناته، سيحدث ما يلي في حال استخدام المنتجات التالية:

  • Crashlytics - لم يعُد بإمكانك الاطّلاع على المستخدمين الذين لم يواجهوا أي أعطال و/أو سجلّات breadcrumb و/أو تنبيهات السرعة.
  • Cloud Messaging وIn-App Messaging: لم يعُد بإمكانك استخدام الاستهداف ومقاييس الحملات وتقسيم الجمهور وتصنيفات الإحصاءات.
  • Remote Config - لم يعُد بإمكانك استخدام الإعدادات المستهدَفة أو التخصيص.
  • A/B Testing: لم يعُد بإمكانك استخدام A/B Testing لأنّه يتم توفير قياس التجربة من خلال "إحصاءات Google".
  • Dynamic Links - سيتم إيقاف أي ميزة تعتمد على بيانات من "إحصاءات Google" .

بالإضافة إلى ذلك، ستتأثر عمليات الدمج التالية:

يمكنك إعادة صياغة المشكلة من خلال "استهداف هؤلاء المستخدِمين بشكل سلبي". على سبيل المثال، يمكنك إعادة صياغة المشكلة على النحو التالي: "عدم عرض الإعلانات للأشخاص الذين اشتروا شيئًا"، وإنشاء جمهور من هؤلاء المستخدمين لاستهدافهم.

ستتم مزامنة شرائح الجمهور وخصائص المستخدِمين. لاستخدام بعض الميزات، عليك استخدام واجهة "إحصاءات Google"، مثل التصنيف إلى شرائح و مسارات الإحالة الناجحة المغلقة. يمكنك الوصول إلى واجهة "إحصاءات Google" مباشرةً من خلال الروابط لصفحات في التطبيق من وحدة تحكّم Firebase.

يمكن أيضًا إجراء أي تغييرات تجريها من وحدة تحكّم Firebase في "إحصاءات Google"، وستظهر هذه التغييرات في Firebase.



Authentication

تتيح Firebase Authentication إثبات ملكية رقم الهاتف على مستوى العالم، ولكن لا تُرسِل بعض الشبكات رسائل التحقّق بشكل موثوق. تحقّق المناطق التالية معدّلات تسليم جيدة، ومن المفترض أن تعمل بشكل جيد مع مصادقة الهاتف. في بعض المناطق، لا تتوفّر بعض شركات الجوّال بسبب معدّلات نجاح التسليم المنخفضة.

الإقليم الرمز
مأندورا
AEالإمارات العربية المتحدة
AFأفغانستان
AGأنتيغوا وبربودا
ALألبانيا
صباحاأرمينيا
AOأنغولا
تنسيق بتكنولوجيا الواقع المعزّزالأرجنتين
ASساموا الأمريكية
ATالنمسا
AUأستراليا
AWأروبا
أذربيجانأذربيجان
BAالبوسنة والهرسك
BBبربادوس
BDبنغلاديش
بلجيكابلجيكا
BFبوركينا فاسو
BGبلغاريا
بنمابنين
BMبرمودا
بنغلاديشبروناي (دار السلام)
بوليفيابوليفيا
BRالبرازيل
BSجزر البهاما
BTبوتان
BWبتسوانا
بواسطةبيلاروس
BZبليز
كنداكندا
قرص CDالكونغو (كينشاسا)
CFجمهورية أفريقيا الوسطى
CGالكونغو (برازافيل)
سويسراسويسرا
CIكوت ديفوار
CKجزر كوك
CLتشيلي
مدير الحملةالكاميرون
كولومبياكولومبيا
رد جاهزكوستاريكا
سيرة ذاتيةكيب فيرد
CWكوراساو
CYقبرص
التشيكجمهورية التشيك
DEألمانيا
منسّق الموسيقىجيبوتي
الدانمركالدانمرك
رسالة مباشرةدومينيكا
DOجمهورية الدومينيكان
DZالجزائر
ECالإكوادور
مصرمصر
إسبانياإسبانيا
ETإثيوبيا
فنلندافنلندا
FJفيجي
FKجزر فوكلاند (مالفيناس)
FMولايات ميكرونيسيا المتحدة
جزر فاروجزر فارو
فرنسافرنسا
GAالغابون
غيغابايتالمملكة المتحدة
GDغرينادا
GEجورجيا
GFغويانا الفرنسية
GGغيرنزي
GHغانا
GIجبل طارق
GLغرينلاند
GMغامبيا
GPغوادلوب
GQغينيا الاستوائية
GRاليونان
GTغواتيمالا
GYغيانا
هونغ كونغهونغ كونغ، منطقة إدارية خاصة في الصين
HNهندوراس
HRكرواتيا
الشوط الأولهايتي
الوحدة الرئيسية (HU)هنغاريا
رقم التعريفإندونيسيا
أيرلنداأيرلندا
إلينويإسرائيل
IMآيل أوف مان
INالهند
IQالعراق
تكنولوجيا المعلوماتإيطاليا
JEجيرسي
شريفجامايكا
JOالأردن
الياباناليابان
كينياكينيا
كينياقرغيزستان
KHكمبوديا
كمجزر القمر
KNسانت كيتس ونيفس
كوريا الجنوبيةكوريا الجنوبية
KWالكويت
كينياجزر كايمان
KZكازاخستان
LAجمهورية لاو الديمقراطية الشعبية
نقاط بسبب اصطدام الكرة بجسم ضارب الكرةلبنان
LCسانت لوشيا
LIليشتنشتاين
LKسريلانكا
LSليسوتو
LTليتوانيا
LUلكسمبورغ
LVلاتفيا
LYليبيا
ماجستيرالمغرب
ماجستيرمولدوفا
لبنانالجبل الأسود
MFسانت مارتن (الجزء الفرنسي)
MGمدغشقر
MKجمهورية مقدونيا
MMميانمار
منغوليامنغوليا
موريتانياماكاو، المنطقة الإدارية الخاصة التابعة للصين
MSمونتسيرات
MTمالطا
MUموريشيوس
ميغاواطملاوي
MXالمكسيك
ماليزياماليزيا
MZموزمبيق
غير متاحناميبيا
كاليفورنياكاليدونيا الجديدة
شمال شرقالنيجر
NFجزيرة نورفولك
NGنيجيريا
نيبالنيكاراغوا
هولنداهولندا
لاالنرويج
NPنيبال
نيوزيلندانيوزيلندا
OMعُمان
PAبنما
PEبيرو
PGبابوا غينيا الجديدة
PHالفلبين
PKباكستان
بولندابولندا
مساءًسان بيير وميكلون
PRبورتوريكو
ضربات الجزاءفلسطين
PTالبرتغال
PYباراغواي
تأكيد الجودةقطر
REجزيرة ريونيون
رومانيارومانيا
RSصربيا
روسياروسيا الاتحادية
RWرواندا
SAالمملكة العربية السعودية
كارولاينا الجنوبيةسيشيل
جنوب شرقالسويد
SGسنغافورة
ركلات الترجيحسانت هلينا
SIسلوفينيا
SKسلوفاكيا
SLسيراليون
SNالسنغال
SRسورينام
STسان تومي وبرينسيبي
SVالسلفادور
SZسوازيلند
TCجزر توركس وكايكوس
TGتوغو
تايلاندتايلاند
قائد فريقتيمور الشرقية
TMتركمانستان
إلىتونغا
TRتركيا
TTترينيداد وتوباغو
تايوانتايوان، جمهورية الصين
TZحمهورية تنزانيا المتحدة
UAأوكرانيا
أوغنداأوغندا
الولايات المتحدةUnited States of America
UYأوروغواي
UZأوزباكستان
VCسانت فنسنت وجزر غرينادين
VEجمهورية فنزويلا البوليفارية
VGجزر فيرجن البريطانية
6جزر فيرجن الأمريكية
فيتنامفيتنام
WSساموا
YEاليمن
YTمايوت
ZAجنوب أفريقيا
ZMزامبيا
ZWزيمبابوي

اعتبارًا من أيلول (سبتمبر) 2024، لتحسين أمان ميزة "مصادقة الهاتف" وجودة الخدمة، يجب ربط مشاريع Firebase بحساب "الفوترة في السحابة الإلكترونية" لتفعيل خدمة الرسائل القصيرة واستخدامها.

للمساعدة في حماية مشروعك من عمليات زيادة عدد الرسائل القصيرة وإساءة استخدام واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:

ننصحك بضبط سياسة منطقة الرسائل القصيرة.
  1. عرض استخدام الرسائل القصيرة على مستوى منطقة معيّنة

    ابحث عن المناطق التي تتضمّن عددًا كبيرًا جدًا من الرسائل القصيرة المُرسَلة وعددًا منخفضًا جدًا (أو صفر) من الرسائل القصيرة التي تم إثبات ملكيتها. نسبة الطلبات التي تم إثبات ملكيتها إلى الطلبات المُرسَلة هي معدّل نجاحك. تتراوح معدّلات النجاح الجيدة عادةً بين %70 و%85 لأنّ الرسائل القصيرة ليست برمجية تسليم مضمّنة، وقد تواجه بعض المناطق إساءة استخدام. تشير معدّلات الاستفادة المنخفضة عن% 50 إلى إرسال العديد من الرسائل القصيرة مع تسجيل عدد قليل من عمليات تسجيل الدخول الناجحة، ما يشير إلى أنّه يتم استخدام الرسائل القصيرة بشكل غير مشروع.

  2. استخدِم سياسة منطقة الرسائل القصيرة لرفض مناطق الرسائل القصيرة ذات معدّلات النجاح المنخفضة، أو السماح بمناطق معيّنة فقط إذا كان تطبيقك مخصّصًا للتوزيع في أسواق معيّنة فقط.

الحد من نطاقات المصادقة المعتمَدة

استخدِم لوحة بيانات إعدادات المصادقة لإدارة النطاقات المعتمَدة. تتم إضافة نطاق localhost تلقائيًا إلى نطاقات المصادقة الموافَق عليها لتبسيط عملية التطوير. ننصحك بإزالة localhost من النطاقات المعتمَدة في مشروع الإنتاج لمنع الجهات الفاعلة السيئة من تشغيل الرمز على localhost الخاص بهم للوصول إلى مشروع الإنتاج.

تفعيل ميزة "فحص التطبيق" وفرضها

فعِّل ميزة فحص التطبيقات للمساعدة في حماية مشروعك من إساءة استخدام واجهة برمجة التطبيقات من خلال الإقرار بأنّ الطلبات تأتي فقط من التطبيقات المرتبطة بمشروعك.

لاستخدام ميزة "فحص التطبيقات" مع Firebase Authentication، يجب الترقية إلى الإصدار Firebase Authentication with Identity Platform.

تذكَّر أنّه عليك فرض ميزة "التحقّق من التطبيق" للمصادقة في وحدة تحكّم Firebase (ننصحك بمراقبة عدد الزيارات قبل فرضها). تحقّق أيضًا من قائمة المواقع الإلكترونية المعتمَدة في reCAPTCHA Enterprise للتأكّد من أنّها لا تحتوي إلا على مواقع الإنتاج، ومن دقة قائمة التطبيقات المسجّلة لمشروعك في App Check.

يُرجى العِلم أنّ ميزة "فحص التطبيقات" تساعد في الحماية من الهجمات المبرمَجة من خلال التأكّد من أنّه تأتي المكالمة من أحد تطبيقاتك المسجّلة. ولا يمنع ذلك المستخدمين من استخدام تطبيقك بطرق غير مقصودة (على سبيل المثال، بدء عمليات تسجيل الدخول ثم عدم إنهائها مطلقًا لإنشاء رسائل SMS مُرسَلة).

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

اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور المحاولة التالية للخطأ:

GoogleFragment: Google sign in failed
    com.google.android.gms.common.api.ApiException: 13: Unable to get token.
        at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
  1. تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:

    1. في وحدة تحكّم Firebase، افتح قسم Authentication.

    2. ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):

      1. افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.

      2. أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.

  2. تأكَّد من أنّ تطبيقك يستخدم أحدث إصدار من ملف إعدادات Firebase (google-services.json).
    احصل على ملف إعدادات تطبيقك.

  3. تأكَّد مما إذا كان الخطأ لا يزال يظهر. إذا كان الأمر كذلك، انتقِل إلى الخطوة التالية لتحديد المشكلة وحلّها.

  4. تأكَّد من توفّر برامج OAuth 2.0 الأساسية المطلوبة.

    1. في صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud، ابحث في قسم معرّفات عملاء OAuth 2.0.

    2. إذا لم يتوفّر لديك عملاء OAuth 2.0 (وكنت قد نفّذت كل خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.

اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:

You must specify |clientID| in |GIDConfiguration|
  1. تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:

    1. في وحدة تحكّم Firebase، افتح قسم Authentication.

    2. ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):

      1. افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.

      2. أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.

  2. تأكَّد من أنّ تطبيقك يستخدم أحدث إصدار من ملف إعدادات Firebase (GoogleService-Info.plist).
    احصل على ملف إعدادات تطبيقك.

  3. تأكَّد مما إذا كان الخطأ لا يزال يظهر. إذا كان الأمر كذلك، انتقِل إلى الخطوة التالية لتحديد المشكلة وحلّها.

  4. تأكَّد من توفّر برامج OAuth 2.0 الأساسية المطلوبة.

    1. في صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud، ابحث في قسم معرّفات عملاء OAuth 2.0.

    2. إذا لم يتوفّر لديك عملاء OAuth 2.0 (وكنت قد نفّذت كل خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.

اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:

AuthErrorCode.INVALID_OAUTH_CLIENT_ID
  1. تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:

    1. في وحدة تحكّم Firebase، افتح قسم Authentication.

    2. ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):

      1. افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.

      2. أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.

  2. في قسم Authentication أيضًا، تأكَّد من أنّ معرّف العميل وسرّه في OAuth يتطابقان مع عميل الويب المعروض في صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud (اطّلِع على قسم معرّفات عملاء OAuth 2.0 ).

اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:

This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.

يرجع سبب ظهور هذا الخطأ على الأرجح إلى أنّ نطاق إعادة التوجيه غير مُدرَج كأحد النطاقات المعتمَدة لخدمة Firebase Authentication، أو أنّ مفتاح واجهة برمجة التطبيقات الذي تستخدمه مع خدمة Firebase Authentication غير صالح.

تأكَّد أولاً من أنّ YOUR_REDIRECT_DOMAIN مُدرَج في قائمة النطاقات المعتمَدة لمشروعك على Firebase. إذا كان نطاق إعادة التوجيه مُدرَجًا هناك، يمكنك مواصلة تحديد المشاكل وحلّها في ما يتعلّق بمفتاح واجهة برمجة التطبيقات غير الصالح.

تعتمد حزمة تطوير البرامج (SDK) لـ Firebase Authentication JS بشكلٍ تلقائي على مفتاح واجهة برمجة التطبيقات لمشروع Browser key في Firebase، وتستخدم هذا المفتاح للتحقّق من أنّ عنوان URL لإعادة التوجيه لتسجيل الدخول صالح وفقًا لقائمة النطاقات المعتمَدة. تحصل Authentication على مفتاح واجهة برمجة التطبيقات هذا استنادًا إلى كيفية وصولك إلى حزمة SDK الخاصة بـ Authentication:

  • إذا كنت تستخدِم مساعِدين في المصادقة يوفّرهم Hosting لتسجيل دخول المستخدمين باستخدام حزمة تطوير البرامج (SDK) لبرنامج Authentication JS، ستحصل Firebase تلقائيًا على مفتاح واجهة برمجة التطبيقات مع بقية إعدادات Firebase في كل مرة تتم فيها عملية النشر على Firebase Hosting. تأكَّد من أنّ authDomain في تطبيق الويب firebaseConfig تم إعداده بشكلٍ سليم لاستخدام أحد النطاقات لموقع Hosting الإلكتروني هذا. يمكنك التحقّق من ذلك من خلال الانتقال إلى https://authDomain__/firebase/init.json والتحقّق من أنّ projectId يتطابق مع firebaseConfig في حسابك.

  • إذا كنت مستضيفًا رمز تسجيل الدخول بنفسك، يمكنك استخدام ملف __/firebase/init.json لتوفير إعدادات Firebase لمساعدة إعادة التوجيه المستضافة ذاتيًا من حزمة تطوير البرامج (SDK) لبرنامج Authentication JS. يجب أن يتطابق مفتاح واجهة برمجة التطبيقات وprojectId المدرَجَين في ملف الإعدادات هذا مع تطبيق الويب firebaseConfig.

تأكَّد من عدم حذف مفتاح واجهة برمجة التطبيقات هذا: انتقِل إلى لوحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud حيث يتم إدراج كل مفاتيح واجهة برمجة التطبيقات لمشروعك.

  • إذا لم يتم حذف Browser key، تحقّق مما يلي:

    • تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها لمفتاح الوصول (مزيد من المعلومات حول قيود واجهات برمجة التطبيقات لمفاتيح واجهة برمجة التطبيقات).

    • إذا كنت تستضيف رمز تسجيل الدخول بنفسك، تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات المدرَج في ملف __/firebase/init.json يتطابق مع مفتاح واجهة برمجة التطبيقات في وحدة تحكّم Cloud. صحِّح المفتاح في الملف، إذا لزم الأمر، ثم أعِد نشر تطبيقك.

    • إذا تم حذف Browser key، يمكنك أن تطلب من Firebase إنشاء مفتاح جديد لواجهة برمجة التطبيقات: في وحدة تحكّم Firebase، انتقِل إلى > إعدادات المشروع، ثمّ انقر على تطبيق الويب في قسم تطبيقاتك. يؤدي هذا الإجراء إلى إنشاء مفتاح واجهة برمجة التطبيقات تلقائيًا والذي يمكنك الاطّلاع عليه في قسم إعداد حزمة تطوير البرامج (SDK) وضبطها لتطبيق الويب.

    يُرجى العِلم أنّ مفتاح واجهة برمجة التطبيقات الجديد هذا لن يُطلق عليه اسم Browser key في وحدة تحكّم Cloud، بل سيحمل الاسم نفسه المستخدَم في الاسم المعرِّف لتطبيقك على الويب في Firebase. إذا قرّرت إضافة قيود على واجهة برمجة التطبيقات إلى مفتاح واجهة برمجة التطبيقات الجديد هذا، تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.

    بعد إنشاء مفتاح واجهة برمجة التطبيقات الجديد، أكمِل الخطوات السارية أدناه:

    • إذا كنت تستخدِم عناوين URL محجوزة Hosting، عليك إعادة نشر تطبيقك على Firebase حتى يتمكّن من الحصول تلقائيًا على مفتاح واجهة برمجة التطبيقات الجديد مع بقية إعدادات Firebase.

    • إذا كنت تستضيف رمز تسجيل الدخول بنفسك، انسخ مفتاح واجهة برمجة التطبيقات الجديد وأضفه إلى ملف __/firebase/init.json، ثم أعِد نشر تطبيقك.

  1. افتح صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud.

  2. في أعلى الصفحة، اختَر إنشاء بيانات اعتماد > معرِّف عميل OAuth.

  3. إذا طُلب منك ضبط شاشة طلب الموافقة، اتّبِع التعليمات الظاهرة على الشاشة، ثم تابِع الخطوات التالية الواردة في الأسئلة الشائعة هذه.

  4. أنشئ عميل OAuth على الويب باتّباع الخطوات التالية:

    1. في حقل نوع التطبيق، اختَر تطبيق الويب.

    2. بالنسبة إلى مصادر JavaScript المسموح بها، أضِف ما يلي:

      • http://localhost
      • http://localhost:5000
      • https://PROJECT_ID.firebaseapp.com
      • https://PROJECT_ID.web.app
    3. بالنسبة إلى معرِّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، أضِف ما يلي:

      • https://PROJECT_ID.firebaseapp.com/__/auth/handler
      • https://PROJECT_ID.web.app/__/auth/handler
    4. احفظ عميل OAuth.

  5. انسخ معرِّف عميل OAuth الجديد وسر العميل إلى الحافظة.

  6. في وحدة تحكّم Firebase، افتح قسم Authentication.

  7. ضمن علامة التبويب طريقة تسجيل الدخول، افتح مقدّم خدمة تسجيل الدخول باستخدام حساب Google، ثم الصق رقم تعريف العميل وسرّ خادم الويب اللذَين أنشأتهما للتو وانسختهما من وحدة تحكّم Google Cloud. انقر على حفظ.

قبل كانون الأول (ديسمبر) 2022، كانت تتم تعبئة الحقل %APP_NAME% في نموذج الرسالة الإلكترونية باستخدام اسم علامة OAuth التجارية الذي كان يتم توفيره تلقائيًا عند تسجيل تطبيق Android في مشروع Firebase. بما أنّه لا يتم تجهيز علامة OAuth التجارية إلا عند تفعيل ميزة "تسجيل الدخول باستخدام حساب Google"، يوضّح ما يلي كيفية تحديد %APP_NAME%:

  • إذا كان اسم العلامة التجارية لبروتوكول OAuth متاحًا، سيكون الرمز %APP_NAME% في ملف تنسيق الرسالة الإلكترونية هو اسم العلامة التجارية لبروتوكول OAuth (كما كان الحال قبل كانون الأول (ديسمبر) 2022).

  • إذا كان اسم العلامة التجارية لبروتوكول OAuth غير متاح، إليك كيفية تحديد %APP_NAME% في نموذج الرسالة الإلكترونية:

    • بالنسبة إلى تطبيقات الويب، سيكون %APP_NAME% هو اسم الموقع الإلكترونيFirebase Hosting التلقائي (القيمة التي تسبق .firebaseapp.com و.web.app وعادةً ما تكون رقم تعريف مشروع Firebase).

    • بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة:

      • إذا كان اسم حزمة Android أو معرّف حزمة iOS متوفّرًا في الطلب، سيكون %APP_NAME% هو اسم التطبيق المستخدَم في "متجر Play" أو App Store (على التوالي).

      • بخلاف ذلك، سيكون %APP_NAME% هو اسم الموقع الإلكتروني التلقائي Firebase Hosting (القيمة التي تسبق .firebaseapp.com و.web.app وعادةً ما تكون رقم تعريف مشروع Firebase).

    يُرجى العِلم أنّه في حال تعذّر البحث عن اسم الموقع الإلكتروني التلقائي Firebase Hosting، يكون الخيار الاحتياطي النهائي هو استخدام رقم تعريف مشروع Firebase ك%APP_NAME%.



Cloud Functions

التوافق مع وقت تشغيل Cloud Functions

  1. تأكَّد من أنّك تستخدم خطة أسعار Blaze.
  2. تأكَّد من استخدام أحدث إصدار من واجهة برمجة التطبيقات Firebase.
  3. عدِّل حقل engines في package.json الدوالّ.
  4. يمكنك اختبار التغييرات باستخدام Firebase Local Emulator Suite إذا أردت.
  5. أعِد نشر جميع الوظائف.

في وحدة تحكّم Firebase، انتقِل إلى لوحة بيانات الدوالّ، واختَر دالة، وتحقّق من لغة الدالة ضمن التفاصيل الإضافية.

نعم. بما أنّه تستخدم الإضافات دوالّ Cloud، يجب تعديل وقت تشغيل الإضافات وفقًا للمخطط الزمني نفسه المُستخدَم في دوالّ Cloud.

ننصحك بالتحديث بصفة دورية إلى أحدث إصدار من كل إضافة مثبّتة في مشروعك. يمكنك ترقية إضافات مشاريعك من خلال وحدة تحكّم Firebase أو واجهة برمجة تطبيقات Firebase.

أسعار Cloud Functions

تعتمد Cloud Functions for Firebase على بعض خدمات Google المدفوعة. تعتمد عمليات بدء استخدام الدوالّ الجديدة باستخدام Firebase CLI 11.2.0 والإصدارات الأحدث على Cloud Build و Artifact Registry. تستخدم عمليات النشر في الإصدارات القديمة Cloud Build بالطريقة نفسها، ولكنّها تعتمد على Container Registry و Cloud Storage للتخزين بدلاً من Artifact Registry. وسيتم تحصيل رسوم استخدام هذه الخدمات بالإضافة إلى الأسعار الحالية.

مساحة التخزين المطلوبة لإصدار Firebase CLI 11.2.0 والإصدارات الأحدث

Artifact Registry توفّر الحاويات التي يتم تشغيل الدوال فيها. Artifact Registry يوفّر أول 500 ميغابايت بدون أي تكلفة، لذا قد لا يتم تحصيل أي رسوم من عمليات نشر وظائفك الأولى. وفوق هذا الحدّ، يتمّ تقييم كلّ غيغابايت إضافي من مساحة التخزين بقيمة 0.10 دولار أمريكي في الشهر.

مساحة التخزين المطلوبة لإصدار Firebase CLI 11.1.x والإصدارات الأقدم

بالنسبة إلى الوظائف التي تم نشرها على إصدارات قديمة، Container Registry، توفّر الحاويات التي يتم تشغيل الوظائف فيها. سيتم تحصيل رسوم منك مقابل كل حاوية مطلوبة لنشر إحدى الدوالّ. قد تلاحظ رسومًا قليلة تُحصَّل مقابل كل حاوية يتم تخزينها. على سبيل المثال، يتم تحصيل 0.026 دولار أمريكي شهريًا مقابل مساحة تخزين بسعة 1 غيغابايت.

لفهم المزيد من المعلومات حول كيفية تغيير فاتورتك، يُرجى مراجعة ما يلي:

نعم. في خطة Blaze، يوفّر Cloud Functions فئة بدون تكلفة لطلبات التنفيذ ووقت الحوسبة وعدد الزيارات على الإنترنت. يتمّ تقديم أول 2,000,000 طلب و400,000 غيغابايت في الثانية و200,000 وحدة معالجة مركزية في الثانية و5 غيغابايت من عدد عمليات الخروج من الإنترنت بدون أي تكلفة كل شهر. ولن يتم تحصيل رسوم منك إلا مقابل الاستخدام الذي يتجاوز هذه الحدود الدنيا.

بعد استخدام أول 500 ميغابايت من مساحة التخزين المجانية، ستترتب على كل عملية نشر رسوم على نطاق صغير مقابل مساحة التخزين المستخدَمة لحاوية الدالة. إذا كانت عملية التطوير تعتمد على نشر الدوالّ للاختبار، يمكنك تقليل التكاليف بشكلٍ أكبر باستخدام Firebase Local Emulator Suite أثناء التطوير.

اطّلِع على خطط أسعار Firebase وCloud Functions الأسعار ومثال على السيناريوهات.

لا، ما مِن خطط لتغيير الحصص باستثناء إزالة الحد الأقصى لوقت الإنشاء، فبدلاً من تلقّي أخطاء أو تحذيرات عند بلوغ حصة الإنشاء اليومية التي تبلغ 120 دقيقة، سيتم تحصيل الرسوم منك بموجب أحكام خطة أسعار Blaze. راجِع الحصص والقيود.

نعم، يمكنك إنشاء حساب Cloud Billing في وحدة تحكّم Google Cloud للحصول على رصيد بقيمة 300 دولار أمريكي، ثم ربط حساب Cloud Billing هذا بمشروع على Firebase.

يمكنك الاطّلاع على مزيد من المعلومات حول رصيد Google Cloud هنا.

يُرجى العِلم أنّه في حال إجراء ذلك، عليك بعد ذلك إعداد خطة أسعار Blaze في وحدة تحكّم Firebase لكي تتمكّن من مواصلة العمل على مشروعك بعد استنفاد الرصيد البالغ 300 دولار أمريكي.

لا، عذرًا. يمكنك استخدام محاكي Firebase لعملية التطوير بدون امتلاك حساب على Cloud Billing. بدلاً من ذلك، يمكنك محاولة التقدّم بطلب للحصول على Google Cloud فترة تجريبية مجانية. إذا كنت لا تزال تواجه مشكلة في دفع فاتورتك بسبب هذا التغيير، يُرجى التواصل مع فريق دعم Firebase.

يمكنك إعداد تنبيهات بشأن الميزانية في وحدة تحكّم Google Cloud للمساعدة في التحكّم في التكاليف. يمكنك أيضًا ضبط حدود على عدد النُسخ التي يتم تحصيل رسومها والتي تم إنشاؤها لكل وظيفة من وظائفك. للحصول على فكرة عن تكلفة السيناريوهات المعتادة، اطّلِع على مثال على أسعار Cloud Functions.

اطّلِع على لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase.

نعم. بما أنّه تستخدم الإضافات Cloud Functions، ستخضع الإضافات للرسوم نفسها التي تُحصَّل على الوظائف الأخرى.

لاستخدام الإضافات، عليك الترقية إلى خطة أسعار Blaze. سيتم تحصيل مبلغ صغير منك (عادةً حوالي 0.01 دولار أمريكي في الشهر) مقابل موارد Firebase المطلوبة لكل إضافة تثبّتها (حتى إذا لم يتم استخدامها)، بالإضافة إلى أي رسوم مرتبطة باستخدامك لخدمات Firebase.



Cloud Messaging

يوفّر Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) الخاصة بالعملاء وبروتوكولَي HTTP وXMPP للخادم. بالنسبة إلى عمليات النشر التي تتطلب رسائل أكثر تعقيدًا، فإنّ "إرسال الرسائل الفورية من Google" هو الخيار المناسب.

أداة إنشاء الإشعارات هي حلّ رسائل خفيف الوزن بدون خادم تم إنشاؤه على Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، يتيح "أداة إنشاء الإشعارات" للمستخدمين إرسال الرسائل بسهولة بهدف إعادة جذب المستخدمين والحفاظ عليهم، وتعزيز نمو التطبيق، ودعم حملات التسويق.

الإمكانات أداة إنشاء الإشعارات Cloud Messaging
الاستهداف جهاز واحد
العملاء المشتركون في مواضيع معيّنة (مثل الطقس)
العملاء في شريحة مستخدمين محدّدة مسبقًا (التطبيق أو الإصدار أو اللغة)
العملاء في شرائح جمهور محدّدة في "إحصاءات Google"
العملاء في مجموعات الأجهزة
النقل من العميل إلى الخادم
نوع الرسالة      إشعارات بحجم يصل إلى 2 كيلوبايت
رسائل البيانات التي يصل حجمها إلى 4 كيلوبايت
التسليم فوري
التوقيت المحلي لجهاز العميل المستقبلي
إحصاءات Google ميزة جمع إحصاءات الإشعارات المضمّنة وتحليلات مسار الإحالة الناجحة

لا، لقد غيّرت Firebase Cloud Messaging إلى بروتوكول APNs المستنِد إلى HTTP/2 في 2017. إذا كنت تستخدم FCM لإرسال إشعارات إلى أجهزة iOS، ليس عليك اتّخاذ أي إجراء.

يمكنك استخدام Firebase Cloud Messaging كمكوّن مستقل، بالطريقة نفسها التي استخدمتها مع GCM، بدون استخدام خدمات Firebase الأخرى.

FCM هو الإصدار الجديد من "خدمات تواصل Google" ضمن علامة Firebase التجارية. وتتضمّن هذه الخدمة البنية الأساسية الأساسية لـ GCM، بالإضافة إلى حِزم تطوير برامج (SDK) جديدة لتسهيل تطوير Cloud Messaging.

تشمل مزايا الترقية إلى حزمة تطوير البرامج (SDK) لنظام "إرسال الرسائل الفورية من Google" ما يلي:

  • تطوير عملاء أبسط لم يعُد عليك كتابة رمزبرمجي خاص بك لإعادة محاولة تسجيل أو اشتراك.
  • حلّ جاهز للإشعارات يمكنك استخدام أداة إنشاء الإشعارات، وهي حلّ لإرسال الإشعارات بدون خادم مع وحدة تحكّم على الويب تتيح لأي مستخدم إرسال إشعارات لاستهداف شرائح جمهور معيّنة استنادًا إلى الإحصاءات من "إحصاءات Google".

للترقية من حِزم تطوير البرامج (SDK) لـ GCM إلى حِزم تطوير البرامج (SDK) لنظام التشغيل FCM، اطّلِع على أدلة نقل بيانات تطبيقات Android و iOS.

عندما يبدو أنّ الأجهزة لم تتلقّى الرسائل بنجاح، تحقّق أولاً من السببَين المحتمَلَين التاليَين:

معالجة الرسائل في المقدّمة لرسائل الإشعارات يجب أن تضيف تطبيقات العميل منطق معالجة الرسائل لمعالجة رسائل الإشعارات عندما يكون التطبيق في المقدّمة على الجهاز. اطّلِع على التفاصيل الخاصة بنظامَي التشغيل iOS و Android.

قيود جدار حماية الشبكة: إذا كانت مؤسستك تستخدم جدار حماية يفرض قيودًا على الزيارات الواردة من الإنترنت أو المُرسَلة إليه، عليك ضبطه للسماح بالاتصال بموقع FCM الإلكتروني لكي تتمكّن تطبيقات Firebase Cloud Messaging العميل من تلقّي الرسائل. المنافذ التي يجب فتحها هي:

  • 5228
  • 5229
  • 5230

يستخدم FCM عادةً 5228، ولكنّه يستخدم أحيانًا 5229 و5230. لا يوفّر FCM عناوين IP محدّدة، لذا عليك السماح لجدار الحماية بقبول الاتصالات الصادرة لجميع عناوين IP المضمّنة في مجموعات عناوين IP الواردة في رقم النظام المستقل (ASN) 15169 الخاص بـ Google.

عندما يكون تطبيقك في الخلفية، يتم عرض رسائل الإشعارات في علبة النظام، ولا يتم استدعاء onMessageReceived. بالنسبة إلى رسائل الإشعارات التي تحتوي على بيانات، يتم عرض رسالة الإشعار في علبة النظام، ويمكن استرجاع البيانات التي تم تضمينها في رسالة الإشعار من النية التي تم إطلاقها عندما ينقر المستخدم على الإشعار.

لمزيد من المعلومات، يُرجى الاطّلاع على تلقّي الرسائل والتحكّم فيها.

أداة إنشاء الإشعارات هي حلّ رسائل خفيف الوزن بدون خادم تم إنشاؤه على Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، يتيح "أداة إنشاء الإشعارات" للمستخدمين إرسال الرسائل بسهولة بهدف إعادة جذب المستخدمين والحفاظ عليهم، وتعزيز نمو التطبيق، ودعم حملات التسويق.

يوفّر Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) الخاصة بالعملاء وبروتوكولَي HTTP وXMPP للخادم. بالنسبة إلى عمليات النشر التي تتطلب رسائل أكثر تعقيدًا، فإنّ "إرسال الرسائل الفورية من Google" هو الخيار المناسب.

في ما يلي مقارنة بين إمكانات المراسلة التي يوفّرها Firebase Cloud Messaging و"أداة إنشاء الإشعارات":

الإمكانات أداة إنشاء الإشعارات Cloud Messaging
الاستهداف جهاز واحد
العملاء المشتركون في مواضيع معيّنة (مثل الطقس)
العملاء في شريحة مستخدمين محدّدة مسبقًا (التطبيق أو الإصدار أو اللغة)
العملاء في شرائح جمهور محدّدة في "إحصاءات Google"
العملاء في مجموعات الأجهزة
النقل من العميل إلى الخادم
نوع الرسالة      إشعارات بحجم يصل إلى 2 كيلوبايت
رسائل البيانات التي يصل حجمها إلى 4 كيلوبايت
التسليم فوري
التوقيت المحلي لجهاز العميل المستقبلي
إحصاءات Google تحليلات جمع الإحصاءات المضمّنة في ميزة "الإشعارات" وتحليلات مسار الإحالة الناجحة

أداة إنشاء الإشعارات هي حلّ جاهز يتيح لأي مستخدم إرسال إشعارات لاستهداف شرائح جمهور محدّدة استنادًا إلى إحصاءات من "إحصاءات Google". يقدّم "أداة إنشاء الإشعارات" أيضًا تحليل مسار الإحالة الناجحة لكل رسالة، ما يتيح تقييم مدى فعالية الإشعار بسهولة.

إذا كنت مطوّرًا حاليًا لخدمة GCM، عليك الترقية من حِزم تطوير البرامج (SDK) لخدمة GCM إلى حِزم تطوير البرامج (SDK) لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" لاستخدام "أداة إنشاء الإشعارات". اطّلِع على أدلة نقل بيانات تطبيقات Android و iOS.

ميزات FCM التي سيتم إيقافها نهائيًا في حزيران (يونيو) 2023

ستتأثر واجهات برمجة التطبيقات/حِزم تطوير البرامج (SDK) التالية بإيقاف هذه الميزة نهائيًا:

Server APIs

اسم واجهة برمجة التطبيقات نقطة نهاية واجهة برمجة التطبيقات التأثير على المستخدمين مطلوب اتخاذ إجراء.
بروتوكول HTTP القديم https://fcm.googleapis.com/fcm/send سيبدأ تعذُّر إرسال الطلبات إلى نقطة النهاية بعد 21 حزيران (يونيو) 2024. الانتقال إلى HTTP v1 API
بروتوكول XMPP القديم fcm-xmpp.googleapis.com:5235 سيبدأ تعذُّر إرسال الطلبات إلى نقطة النهاية بعد 21 حزيران (يونيو) 2024. الانتقال إلى HTTP v1 API
واجهات برمجة تطبيقات خادم أرقام تعريف النُسخ https://iid.googleapis.com/v1/web/iid ستبدأ الطلبات الموجّهة إلى نقطة النهاية في التعذّر بعد 21 حزيران (يونيو) 2024. استخدِم Web JS SDK لإنشاء عمليات تسجيل على الويب باستخدام "إطار عمل إدارة الموافقة".
https://iid.googleapis.com/iid/* ستظلّ نقاط النهاية تعمل، ولكنّها لن تتيح المصادقة باستخدام مفاتيح الخادم الثابتة بعد 21 حزيران (يونيو) 2024. استخدام رمز دخول OAuth 2.0 مشتق من حساب خدمة
واجهة برمجة التطبيقات لإدارة مجموعات الأجهزة https://fcm.googleapis.com/fcm/notification ستظلّ نقطة النهاية تعمل، ولكنّها لن تتيح المصادقة باستخدام مفاتيح الخادم الثابتة بعد 21 حزيران (يونيو) 2024. استخدام رمز دخول OAuth 2.0 مشتق من حساب خدمة
المراسلة من الأعلى إلى الأسفل عبر XMPP fcm-xmpp.googleapis.com:5235 لن تؤدي طلبات البيانات من واجهة برمجة التطبيقات إلى FirebaseMessaging.send في التطبيق إلى بدء إرسال الرسائل إلى خادم التطبيق بعد 21 حزيران (يونيو) 2024. نفِّذ هذه الوظيفة في منطق الخادم. على سبيل المثال، ينفِّذ بعض المطوّرين نقطة نهاية HTTP/gRPC الخاصة بهم ويطلبون من نقطة النهاية مباشرةً إرسال الرسائل من العملاء إلى خادم التطبيق. اطّلِع على دليل البدء السريع لواجهة برمجة التطبيقات gRPC للحصول على مثال على تنفيذ المراسلة من المصدر إلى الوجهة باستخدام gRPC.
Batch Send API https://fcm.googleapis.com/batch سيبدأ تعذُّر إرسال الطلبات إلى نقطة النهاية بعد 21 حزيران (يونيو) 2024. انتقِل إلى طريقة الإرسال العادية لواجهة برمجة التطبيقات في HTTP v1، والتي تتيح استخدام HTTP/2 لمضاعفة توجيه الإشارات.

واجهات برمجة تطبيقات "حزمة تطوير البرامج (SDK) للمشرف" في Firebase

اسم واجهة برمجة التطبيقات لغة واجهة برمجة التطبيقات التأثير على المستخدمين مطلوب اتخاذ إجراء.
sendToDevice() Node.js سيتوقف عمل واجهة برمجة التطبيقات بعد 21 حزيران (يونيو) 2024 لأنّها تستدعي واجهة برمجة التطبيقات القديمة لإرسال HTTP. استخدِم طريقة send() .
sendToDeviceGroup() Node.js سيتوقف عمل واجهة برمجة التطبيقات بعد 21 حزيران (يونيو) 2024 لأنّها تستدعي واجهة برمجة التطبيقات القديمة لإرسال HTTP. استخدِم طريقة send() .
sendToTopic() Node.js سيتوقف عمل واجهة برمجة التطبيقات بعد 21 حزيران (يونيو) 2024 لأنّها تستدعي واجهة برمجة التطبيقات القديمة لإرسال HTTP. استخدِم طريقة send() .
sendToCondition() Node.js سيتوقف عمل واجهة برمجة التطبيقات بعد 21 حزيران (يونيو) 2024 لأنّها تستدعي واجهة برمجة التطبيقات القديمة لإرسال HTTP. استخدِم طريقة send() .
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast() Node.js وJava وPython وGo وC# سيتوقّف عمل واجهات برمجة التطبيقات هذه بعد 21 حزيران (يونيو) 2024 لأنّها تستدعي واجهة برمجة التطبيقات لإرسال الدفعات . عليك الترقية إلى أحدث إصدار من حزمة "مدير SDK في Firebase" واستخدام واجهات برمجة التطبيقات الجديدة بدلاً من الواجهات القديمة: sendEach()/ sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/ send_each_for_multicast().

يُرجى العلم أنّ واجهات برمجة التطبيقات الجديدة لم تعُد تستدعي واجهة برمجة التطبيقات لإرسال الدفعات التي تم إيقافها نهائيًا، ولهذا السبب، قد تنشئ هذه الواجهات المزيد من اتصالات HTTP المتزامنة مقارنةً بواجهات برمجة التطبيقات القديمة.

حِزم تطوير البرامج (SDK) للعملاء

إصدارات حزمة تطوير البرامج (SDK) التأثير على المستخدمين مطلوب اتخاذ إجراء.
حِزم تطوير برامج (SDK) لنظام GCM (تم إيقافها نهائيًا في عام 2018) لن تتمكّن التطبيقات التي تستخدم حِزم تطوير البرامج (SDK) لنظام GCM من تسجيل الرموز المميّزة أو تلقّي الرسائل من خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" بعد 21 حزيران (يونيو) 2024. عليك ترقية حزمة تطوير البرامج (SDK) لنظام التشغيل Android إلى أحدث إصدار من حزمة تطوير البرامج (SDK) لبرنامج Firebase إذا لم يسبق لك إجراء ذلك.
إصدار حِزم تطوير البرامج (SDK) لتطبيقات JavaScript أقدم من 7.0.0 (تغيير جذري في الإصدار 7.0.0 في عام 2019) لن تتمكّن تطبيقات الويب التي تستخدم حِزم تطوير البرامج (SDK) لـ JavaScript القديمة من تسجيل الرموز المميّزة بعد 21 حزيران (يونيو) 2024. ترقية حزمة تطوير البرامج (SDK) على الويب لبرنامج Firebase إلى أحدث إصدار

لا، لديك 12 شهرًا (من 20 حزيران (يونيو) 2023 إلى 21 حزيران (يونيو) 2024) لنقل البيانات من واجهات برمجة التطبيقات القديمة إلى واجهات برمجة التطبيقات الجديدة بدون أي عملية ترقية للخدمات. ننصحك بشدة ب التخطيط لعملية نقل البيانات في أقرب وقت ممكن لكي لا تتأثّر بمحاولة إيقاف واجهات برمجة التطبيقات نهائيًا في حزيران (يونيو) 2024.

بعد حزيران (يونيو) 2024، قد تلاحظ زيادة في الأخطاء أو عدم توفّر الوظائف عند استخدام واجهات برمجة التطبيقات/حِزم SDK المُدرَجة أعلاه (اطّلِع على الأسئلة الشائعة التالية للحصول على مزيد من المعلومات).

ستبدأ FCM في إيقاف واجهات برمجة التطبيقات المتوقّفة نهائيًا بشكل تدريجي في 22 تموز (يوليو) 2024 تقريبًا. وبعد هذا التاريخ، ستخضع الخدمات المتوقّفة نهائيًا لعملية "توقّف مؤقت"، حيث سيؤدي عدد متزايد من طلبات إلى عرض ردود خطأ. خلال فترة الإيقاف التدريجي، من المتوقّع أن يزداد تكرار السلوك التالي وردود الأخطاء التالية بمرور الوقت:

الفئة ما يمكن توقّعه
بروتوكول HTTP القديم يتم رفض الطلبات باستخدام رمز HTTP 301.
بروتوكول XMPP القديم يتم رفض الطلبات باستخدام رمز الخطأ 302.
FCM Upstream يتم تجاهل الرسائل بصمت من خلال الخلفية في "المراسلة من خلال السحابة الإلكترونية من Firebase".
Batch Send API يتم رفض الطلبات مع ظهور رمز الخطأ UNIMPLEMENTED ورسالة الخطأ "تم إيقاف واجهة برمجة التطبيقات نهائيًا".
حِزم تطوير البرامج (SDK) لخدمات Google Cloud Messaging - تسجيل الرموز المميّزة يتم رفض الطلبات باستخدام رمز HTTP 301.
حِزم تطوير البرامج (SDK) لخدمة "مراسلة عبر السحابة الإلكترونية من Google" (GCM) - إرسال الرسائل يتم رفض الطلبات باستخدام رمز الخطأ 400 ورسالة الخطأ التالية: "تم إيقاف رمز V3 المميّز نهائيًا".
إصدار حِزم تطوير البرامج (SDK) لتطبيقات JavaScript أقدم من 7.0.0 يتم رفض الطلبات باستخدام رمز HTTP 501.
استخدام مفتاح الخادم للوصول إلى واجهتَي برمجة التطبيقات Instance ID وإدارة مجموعات الأجهزة يتم رفض الطلبات باستخدام رمز HTTP‏ 401.

الرمز المميّز لبروتوكول OAuth 2.0 هو رمز مميّز قصير العمر يتم الحصول عليه من حساب خدمة. وهو نموذج المصادقة العادي من Google، وهو أكثر أمانًا من مفاتيح الخادم الثابتة.

اطّلِع على استخدام بيانات الاعتماد لإنشاء رموز مميّزة للوصول للحصول على إرشادات حول استخدام مكتبة Google Auth للحصول على الرموز المميّزة.

يُرجى العلم أنّ رؤوس الطلبات تختلف عند استخدام الرموز المميزة لبروتوكول OAuth 2.0 للطلبات المرسَلة إلى نقاط نهاية مختلفة.

  • HTTP v1 API: Authorization: Bearer $oauth_token
  • واجهة برمجة تطبيقات خادم أرقام تعريف النماذج وواجهة برمجة تطبيقات إدارة مجموعات الأجهزة: Authorization: Bearer $oauth_token
    access_token_auth: true

ننصحك بزيادة عدد الزيارات إلى واجهة برمجة التطبيقات الجديدة تدريجيًا. إذا كان من المتوقّع إرسال أكثر من 600,000 رسالة في الدقيقة بشكل منتظم، تواصَل مع فريق دعم Firebase للحصول على تعليمات حول كيفية زيادة الحصة أو للحصول على اقتراحات حول كيفية توزيع الزيارات.

المواضيع: لا تحتاج إلى إضافة البادئة "‎/topics/" إلى استهداف المواضيع عند استخدام واجهة برمجة التطبيقات من الإصدار 1.

مجموعات الأجهزة: يمكنك استخدام رمز مميّز للمجموعة كهدف رمز مميّز في واجهة برمجة تطبيقات HTTP v1. ومع ذلك، لا تعرض واجهة برمجة التطبيقات HTTP v1 أعداد عمليات النجاح أو الفشل في الاستجابة. ننصحك باستخدام مواضيع "نظام إرسال الرسائل إلى الأجهزة الجوّالة من Google" أو إدارة مجموعات أجهزتك بنفسك.

لا، لا تتيح واجهة برمجة التطبيقات HTTP v1 هذه الميزة، التي تُعرف باسم "البث المتعدد" في واجهات برمجة التطبيقات HTTP القديمة، وهي مصمّمة بشكل أفضل لقابلية التوسّع.

بالنسبة إلى حالات الاستخدام التي يكون فيها وقت الاستجابة من البداية إلى النهاية مهمًا، أو التي يكون فيها إجمالي حجم التوسيع صغيرًا (أقل من مليون)، تنصح Google بإرسال طلبات متعددة منفصلة باستخدام واجهة برمجة التطبيقات HTTP v1. تحقّق واجهة برمجة التطبيقات لإصدار HTTP‏ 1.0 عبر HTTP/2 أداءً مشابهًا بنسبة% 99.9 من طلبات البث المتعدد (إرسال أقل من 100 رمز مميّز). بالنسبة إلى حالات الاستخدام الشاذة (إرسال 1000 رمز مميّز)، يحقّق هذا الإجراء ما يصل إلى ثلث معدّل الإنتاجية، لذلك، يجب توفير عمليات متزامنة إضافية لتحسين حالة الاستخدام غير المعتادة هذه. يمكن للمستخدمين الاستفادة من موثوقية ومدى توفّر أكبر باستخدام واجهة برمجة التطبيقات HTTP v1 مقارنةً بميزة البث المتعدد القديمة.

بالنسبة إلى حالات الاستخدام التي يتم فيها منح الأولوية لمعدّل نقل البيانات ومعدل نقل البيانات الخارج أو عندما يكون إجمالي حجم التوسيع كبيرًا (أكثر من مليون)، تنصح Google باستخدام رسائل المواضيع. على الرغم من أنّ المراسلة في المواضيع تتطلّب إجراءً لمرة واحدة من أجل اشتراك المستلمين في موضوع معيّن، إلا أنّها توفّر ما يصل إلى 10,000 طلب في الثانية لكل معدّل توسيع نطاق المشروع بدون حدّ أقصى لحجم الموضوع.

النظام الأساسي إصدار حزمة تطوير البرامج لخدمة "إحصاءات Google" في Firebase
Node.js الإصدار 11.7.0 أو الإصدارات الأحدث
Python الإصدار 6.2.0 أو الإصدارات الأحدث
جافا الإصدار 9.2.0 أو الإصدارات الأحدث
انتقال الإصدار 4.12.0 أو الإصدارات الأحدث
‎.NET الإصدار 2.4.0 أو الإصدارات الأحدث

تستخدم واجهة برمجة التطبيقات لإرسال الدفعات في "خدمة المراسلة عبر السحابة الإلكترونية من Firebase" تنسيق الرسائل وآلية المصادقة نفسها المستخدَمة في واجهة برمجة التطبيقات للإصدار 1 من HTTP. ومع ذلك، يستخدم ملف تعريف الارتباط نقطة نهاية مختلفة. إذا كنت تريد تحسين الكفاءة، ننصحك باستخدام بروتوكول HTTP/2 لإرسال طلبات متعدّدة عبر اتصال HTTP نفسه إلى واجهة برمجة التطبيقات HTTP v1.

يُرجى التواصل مع فريق دعم Google Cloud للحصول على المساعدة.

لا، اعتبارًا من 20 أيار (مايو) 2024، لن يُسمح للمشاريع الجديدة بتفعيل واجهات برمجة التطبيقات القديمة.

بعد التأكّد من نقل بياناتك بالكامل إلى واجهة برمجة التطبيقات HTTP v1، يمكنك إيقاف واجهة برمجة التطبيقات القديمة Cloud Messaging API (قد يتعذّر تحميل الصفحة إذا سبق أن تم إيقاف واجهة برمجة التطبيقات).

FCM الحصص والحدود

لا يمكن استخدام حالة الاستخدام هذه. يجب توزيع الزيارات على مدار 5 دقائق.

لا يمكننا منح زيادة في الحصة لهذا السبب. يجب توزيع الزيارات على مدار 5 دقائق.

ننصحك ببدء إرسال الإشعارات قبل 5 دقائق على الأقل من بدء الحدث.

يعتمد ذلك قليلاً على استخدامك لخدمة "إرسال الرسائل إلى Firebase". في جميع الأحوال، يمكنك توقّع تلقّي ردّ خلال بضعة أيام عمل. في بعض الحالات، قد يكون هناك بعض التراجعات بشأن استخدامك لـ FCM وظروف مختلفة، ما قد يؤدي إلى إطالة العملية. في حال استيفاء جميع المتطلبات، سيتم معالجة معظم الطلبات في غضون أسبوعَين.

اطّلِع على إرشادات Google Cloud حول كيفية إنشاء رسوم بيانية وتتبُّع مقاييس الحصة.

ندرك أنّ حدود الحصص قد تكون صعبة، ولكنّ الحصص مهمة للحفاظ على موثوقية الخدمة ولا يمكننا منح أي استثناءات.

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

على الرغم من أنّ Google لن تتّخذ هذا الإجراء إلا بعد تفكير متأنٍّ، قد يتم تغيير الحصص عند الحاجة لحماية سلامة النظام. وستُعلمك Google مسبقًا بهذه التغييرات كلما أمكن ذلك.



Cloud Storage for Firebase

انتقِل إلى مستندات Cloud Storage للاطّلاع على مزيد من المعلومات عن التغييرات في حزمة Cloud Storage التلقائية.

تنشئ Cloud Storage for Firebase حزمة تلقائية في المستوى App Engine بدون تكلفة. يتيح لك ذلك البدء بسرعة باستخدام Firebase وCloud Storage for Firebase، بدون الحاجة إلى إدخال بطاقة ائتمـــــان أو تفعيل حساب Cloud Billing. ويسمح لك أيضًا بمشاركة البيانات بسهولة بين Firebase ومشروع Google Cloud.

ومع ذلك، هناك حالتان معروفتان يتعذّر فيهما إنشاء هذا الحِزمة ولن تتمكّن من استخدام Cloud Storage for Firebase:

  • مشروع مستورَد من Google Cloud يتضمّن تطبيق App Engine "مُشغِّل/مُشغَّل تابع" Datastore
  • مشروع مستورَد من Google Cloud يتضمّن مشروعات مسبوقة بالنطاق على سبيل المثال: domain.com:project-1234.

لا تتوفّر حاليًا حلول بديلة لهذه المشاكل، وننصح بإنشاء مشروع جديد في وحدة تحكّم Firebase وتفعيل Cloud Storage for Firebase في ذلك المشروع.

من المرجّح أن تظهر لك رموز الخطأ 412 إما لأنّ واجهة برمجة التطبيقات Cloud Storage for Firebase غير مفعّلة لمشروعك أو لأنّ حساب الخدمة الضروري لا يتضمّن الأذونات المطلوبة.

اطّلِع على الأسئلة الشائعة ذات الصلة.

بالنسبة إلى مشاريع الخطة المجانية (Spark)، تحظر Firebase عمليات تحميل ومستضافة لأنواع معيّنة من الملفات التنفيذية لنظام التشغيل Windows وAndroid وApple من خلال Cloud Storage for Firebase و Firebase Hosting. تم وضع هذه السياسة لمنع إساءة الاستخدام على منصتنا.

سيتم حظر عرض الملفات غير المسموح بها واستضافتها وتحميلها في جميع مشاريع Spark التي تم إنشاؤها في 28 أيلول (سبتمبر) 2023 أو بعد هذا التاريخ. بالنسبة إلى مشاريع Spark الحالية التي تحتوي على ملفات تم تحميلها قبل هذا التاريخ، سيظل بإمكانك تحميل هذه الملفات واستضافتها.

ينطبق هذا القيد على مشاريع خطة Spark. لن تتأثر مشاريع خطة الدفع عند الاستخدام (Blaze).

لا يمكن استضافة أنواع الملفات التالية على Firebase Hosting وCloud Storage for Firebase:

  • ملفات Windows التي تحتوي على الإضافات .exe و.dll و.bat
  • ملفات Android ذات امتداد .apk
  • ملفات نظام التشغيل Apple ذات الامتداد .ipa

ما هي الإجراءات التي عليّ اتّخاذها؟

إذا كنت لا تزال تريد استضافة أنواع الملفات هذه بعد 28 أيلول (سبتمبر) 2023:

  • بالنسبة إلى "استضافة Google": عليك الترقية إلى خطة Blaze قبل أن تتمكّن من نشر أنواع الملفات هذه على Firebase Hosting باستخدام الأمر firebase deploy.
  • بالنسبة إلى مساحة التخزين: يمكنك الترقية إلى خطة Blaze لتحميل أنواع الملفات هذه إلى الحزمة التي تختارها باستخدام واجهة سطر أوامر GCS أو وحدة تحكّم Firebase أو وحدة تحكّم Google Cloud.

استخدِم أدوات Firebase لإدارة موارد Firebase Hosting وCloud Storage.

  • لإدارة الموارد في Firebase Hosting، استخدِم وحدة تحكّم Firebase لحذف الإصدارات وفقًا لهذا الدليل.
  • لإدارة الموارد في Cloud Storage، انتقِل إلى صفحة منتج "مساحة التخزين" في مشروعك.
    1. في علامة التبويب الملفات، ابحث عن الملفات غير المسموح بحذفها في التسلسل الهرمي للمجلد، ثم اختَرها باستخدام مربّع الاختيار بجانب أسماء الملفات على يمين اللوحة.
    2. انقر على حذف، وأكِّد حذف الملفات.

يُرجى الرجوع إلى مستنداتنا للحصول على معلومات إضافية حول إدارة موارد الاستضافة باستخدام أدوات Firebase و مجموعات بيانات التخزين في "سحابة تخزين Google" لـ Firebase باستخدام مكتبات العملاء.

في السابق، لم يكن يتم احتساب طلبات التنزيل والتحميل إلى واجهة برمجة التطبيقات Cloud Storage for Firebase بشكل صحيح. لقد اتّخذنا خطوات لحلّ هذه المشكلة، اعتبارًا من 15 أيلول (سبتمبر) 2023.

بالنسبة إلى مستخدمي Blaze، ستبدأ عمليات التحميل والتنزيل في احتساب رسوم ملفاتك ضمن فاتورتك الشهرية. بالنسبة إلى مستخدمي Spark، سيبدأ احتسابهم ضمن الحد الأقصى المجاني المخصّص لك شهريًا.

ننصحك بمراقبة صفحة "الاستخدام" بحثًا عن أي زيادات قد تُحتسب ضمن حدودك.

تستخدِم Firebase حسابات الخدمة لتشغيل الخدمات وإدارتها بدون المشاركة في بيانات اعتماد المستخدمين. عند إنشاء مشروع على Firebase، قد تلاحظ أنّ عددًا من حسابات الخدمة متوفّرة في مشروعك.

إنّ حساب الخدمة الذي يستخدمه Cloud Storage for Firebase محصور في مشروعك ويحمل الاسم
service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.

إذا كنت تستخدم Cloud Storage for Firebase قبل 19 أيلول (سبتمبر) 2022، قد يظهر لك حساب خدمة إضافي في حِزم Cloud Storage المرتبطة سابقًا باسم firebase-storage@system.gserviceaccount.com. اعتبارًا من يوم 19 أيلول (سبتمبر) 2022، لم يعُد حساب الخدمة هذا متوافقًا.

يمكنك الاطّلاع على جميع حسابات الخدمة المرتبطة بمشروعك في كونسول Firebase، في علامة التبويب "حسابات الخدمة".

إضافة حساب الخدمة الجديد

إذا أزلت حساب الخدمة في السابق أو لم يكن حساب الخدمة موجودًا في مشروعك، يمكنك إجراء أحد الإجراءات التالية لإضافة الحساب.

  • (إجراء مقترَح) آلي: استخدِم نقطة نهاية AddFirebase REST لإعادة استيراد حِزمك إلى Firebase. ما عليك سوى استدعاء هذه النهاية مرة واحدة فقط، وليس مرة واحدة لكل حزمة مرتبطة.
  • يدوي: اتّبِع الخطوات الواردة في إنشاء حسابات الخدمة وإدارتها. اتّبِع الخطوات الواردة في هذا الدليل لإضافة حساب خدمة يتضمّن دور إدارة الهوية وإمكانية الوصولCloud Storage for Firebase Service Agent واسم حساب الخدمة
    service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.
إزالة حساب الخدمة الجديد

ننصحك بشدة بعدم إزالة حساب الخدمة لأنّه قد يؤدي ذلك إلى حظر الوصول إلى حِزم Cloud Storage من تطبيقاتك. ل إزالة حساب الخدمة من مشروعك، اتّبِع التعليمات الواردة في مقالة إيقاف حساب خدمة.

أسعار Cloud Storage for Firebase

انتقِل إلى مستندات Cloud Storage للاطّلاع على مزيد من المعلومات حول التغييرات في متطلبات خطة الأسعار في Cloud Storage.

انتقِل إلى صفحة "أسعار Firebase" واستخدِم حاسبة خطة Blaze. يسرد هذا الحاسب جميع أنواع الاستخدام لـ Cloud Storage for Firebase.

استخدِم أشرطة التمرير لإدخال الاستخدام المتوقّع لحزمة التخزين. ستقدِّر حاسبة فاتورتك الشهرية.

عند تجاوز الحدود المسموح بها Cloud Storage في مشروع على خطة Spark، تعتمد النتيجة على نوع الحدّ الذي تم تجاوزه:

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



Crashlytics

يمكنك الانتقال إلى Crashlytics صفحة الأسئلة الشائعة وتحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.



يُرجى الاطّلاع على Dynamic Links الأسئلة الشائعة.

تعمل واجهة برمجة التطبيقات getInvitation على محو "الرابط الديناميكي" المحفوظ لمنع الوصول إليه مرّتين. احرص على استدعاء واجهة برمجة التطبيقات هذه مع ضبط المَعلمة autoLaunchDeepLink على false في كلّ من أنشطة الروابط لصفحات في التطبيق لمحو ذاكرتها في حال بدء النشاط خارج النشاط الرئيسي.



Hosting

بالنسبة إلى مشاريع الخطة المجانية (Spark)، تحظر Firebase عمليات تحميل ومستضافة لأنواع معيّنة من الملفات التنفيذية لنظام التشغيل Windows وAndroid وApple من خلال Cloud Storage for Firebase و Firebase Hosting. تم وضع هذه السياسة لمنع إساءة الاستخدام على منصتنا.

سيتم حظر عرض الملفات غير المسموح بها واستضافتها وتحميلها في جميع مشاريع Spark التي تم إنشاؤها في 28 أيلول (سبتمبر) 2023 أو بعد هذا التاريخ. بالنسبة إلى مشاريع Spark الحالية التي تحتوي على ملفات تم تحميلها قبل هذا التاريخ، سيظل بإمكانك تحميل هذه الملفات واستضافتها.

ينطبق هذا القيد على مشاريع خطة Spark. لن تتأثر مشاريع خطة الدفع عند الاستخدام (Blaze).

لا يمكن استضافة أنواع الملفات التالية على Firebase Hosting وCloud Storage for Firebase:

  • ملفات Windows التي تحتوي على الإضافات .exe و.dll و.bat
  • ملفات Android ذات امتداد .apk
  • ملفات نظام التشغيل Apple ذات الامتداد .ipa

ما هي الإجراءات التي عليّ اتّخاذها؟

إذا كنت لا تزال تريد استضافة أنواع الملفات هذه بعد 28 أيلول (سبتمبر) 2023:

  • بالنسبة إلى "استضافة Google": عليك الترقية إلى خطة Blaze قبل أن تتمكّن من نشر أنواع الملفات هذه على Firebase Hosting باستخدام الأمر firebase deploy.
  • بالنسبة إلى مساحة التخزين: يمكنك الترقية إلى خطة Blaze لتحميل أنواع الملفات هذه إلى الحزمة التي تختارها باستخدام واجهة سطر أوامر GCS أو وحدة تحكّم Firebase أو وحدة تحكّم Google Cloud.

استخدِم أدوات Firebase لإدارة موارد Firebase Hosting وCloud Storage.

  • لإدارة الموارد في Firebase Hosting، استخدِم وحدة تحكّم Firebase لحذف الإصدارات وفقًا لهذا الدليل.
  • لإدارة الموارد في Cloud Storage، انتقِل إلى صفحة منتج "مساحة التخزين" في مشروعك.
    1. في علامة التبويب الملفات، ابحث عن الملفات غير المسموح بحذفها في التسلسل الهرمي للمجلد، ثم اختَرها باستخدام مربّع الاختيار بجانب أسماء الملفات على يمين اللوحة.
    2. انقر على حذف، وأكِّد حذف الملفات.

يُرجى الرجوع إلى مستنداتنا للحصول على معلومات إضافية حول إدارة موارد الاستضافة باستخدام أدوات Firebase و مجموعات بيانات التخزين في "سحابة تخزين Google" لـ Firebase باستخدام مكتبات العملاء.

تُضيف Firebase تلقائيًا ملفات إضافية تحتوي على بيانات وصفية عن الموقع الإلكتروني Hosting، ويتم تضمين هذه الملفات في إجمالي عدد الملفات للإصدار.

يفرض Hosting حدًا أقصى يبلغ 2 غيغابايت لحجم الملفات الفردية.

ننصحك بتخزين الملفات الأكبر حجمًا باستخدام Cloud Storage، الذي يقدّم حدًا أقصى للحجم في نطاق وحدات تيرابايت للعناصر الفردية.

تتيح ميزة Firebase Hosting المواقع الإلكترونية المتعدّدة استخدام 36 موقعًا إلكترونيًا كحد أقصى لكل مشروع.



Performance Monitoring

يمكنك الانتقال إلى Performance Monitoring صفحة الأسئلة الشائعة وتحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.

يمكنك إنشاء ما يصل إلى 400 نمط عنوان URL مخصّص بحد أقصى لكل تطبيق وما يصل إلى 100 نمط عنوان URL مخصّص بحد أقصى لكل نطاق لهذا التطبيق.

للاطّلاع على بيانات الأداء في الوقت الفعلي، تأكَّد من أنّ تطبيقك يستخدم Performance Monitoring إصدارًا من حزمة SDK متوافقًا مع معالجة البيانات في الوقت الفعلي.

  • iOS: الإصدار 7.3.0 أو إصدار أحدث
  • tvOS: الإصدار 8.9.0 أو إصدار أحدث
  • Android: الإصدار 19.0.10 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
  • الويب: الإصدار 7.14.0 أو إصدار أحدث

يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار من الحزمة مُدرَج أعلاه سيتيح لتطبيق Performance Monitoring معالجة بياناتك في وقتٍ يقترب من الزمن الفعلي.



Realtime Database

ويعادل الاتصال المتزامن جهازًا جوّالاً واحدًا أو أو علامة تبويب في المتصفّح أو تطبيق خادم متصل بقاعدة البيانات. تفرض منصة Firebase حدودًا صارمة على عدد عمليات الاتصال المتزامنة بقاعدة بيانات تطبيقك. تم وضع هذه الحدود بهدف حماية كلّ من Firebase والمستخدمين من إساءة الاستخدام.

الحد الأقصى لعدد الحسابات في خطة Spark هو 100 حساب ولا يمكن زيادته. تبلغ سعة خطتَي Flame و Blaze 200,000 اتصال متزامن لكل قاعدة بيانات.

لا يتساوى هذا الحد الأقصى مع إجمالي عدد مستخدمي تطبيقك، لأنّ المستخدمين لا يتصلون جميعًا في الوقت نفسه. إذا كنت بحاجة إلى أكثر من 200,000 عملية اتصال متزامنة، يُرجى الاطّلاع على مقالة توسيع نطاق الوصول باستخدام قواعد بيانات متعددة.

تفرض كلّ نسخة من Realtime Database حدودًا على عدد عمليات الكتابة في الثانية. بالنسبة إلى عمليات الكتابة الصغيرة، يكون هذا الحدّ هو 1, 000 عملية كتابة في الثانية تقريبًا. إذا كنت تقترب من هذا الحدّ الأقصى، يمكن أن تساعدك عمليات تجميع العمليات باستخدام تعديلات المسارات المتعددة في تحقيق معدل نقل بيانات أعلى.

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

إذا تلقّيت تنبيهًا عبر البريد الإلكتروني أو إشعارًا في وحدة تحكّم Firebase بأنّك تجاوزت حدود استخدام Realtime Database، يمكنك معالجة ذلك استنادًا إلى حدّ الاستخدام الذي تجاوزته. للاطّلاع على استخدامك للخدمة، انتقِل إلى لوحة بيانات Realtime Database الاستخدام في وحدة تحكّمFirebase.Realtime Database

إذا تجاوزت الحد الأقصى المسموح به للتنزيل، يمكنك ترقية خطة أسعار Firebase أو الانتظار إلى أن تتم إعادة ضبط الحد الأقصى المسموح به للتنزيل في بداية دورة الفوترة التالية. لتقليل عدد عمليات التنزيل، جرِّب الخطوات التالية:

  • أضِف طلبات بحث لتضييق نطاق البيانات التي تعرضها عمليات الاستماع.
  • البحث عن طلبات البحث غير المفهرَسة
  • استخدِم مستمعين ينزّلون تعديلات البيانات فقط، مثل on() بدلاً من once().
  • استخدِم قواعد الأمان لحظر عمليات التنزيل غير المصرّح بها.

إذا تجاوزت الحد الأقصى المسموح به لمساحة التخزين، يمكنك ترقية خطة التسعير لتجنّب انقطاع الخدمة. لتقليل كمية البيانات في أي قاعدة بيانات، جرِّب الخطوات التالية:

  • تنفيذ مهام تنظيف دورية
  • قلِّل من أي بيانات مكرّرة في قاعدة بياناتك.

يُرجى العِلم أنّ ظهور أي عمليات حذف بيانات في مساحة التخزين المخصّصة لك قد يستغرق بعض الوقت.

إذا تجاوزت الحد الأقصى المسموح به لعمليات الربط بقاعدة البيانات في الوقت نفسه، عليك ترقية خطتك لتجنّب أي انقطاعات في الخدمة. لإدارة عمليات الربط المتزامنة بقاعدة بياناتك، جرِّب الربط من خلال مستخدمين عبر واجهة برمجة التطبيقات REST API إذا لم تكن تتطلّب اتصالاً في الوقت الفعلي.

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

عندما يصل تطبيقك إلى الحد الأقصى للعمليات المتزامنة في خطة Spark، سيتم رفض أي عمليات ربط لاحقة إلى أن يتم إغلاق بعض عمليات الربط الحالية. سيستمر عمل التطبيق للمستخدمين المتصلين.

النُسخ الاحتياطية المبرمَجة هي ميزة متقدمة تتوفّر للعملاء المشتركين في خطة الأسعار Blaze، وهي تُنشئ نسخة احتياطية من بيانات Firebase Realtime Database مرة واحدة في اليوم وتُحمِّلها إلى Google Cloud Storage.

لا نقدّم نُسخًا احتياطية كل ساعة.

في عمليات احتساب معدل نقل البيانات، نضيف عادةً تكلفة التشفير باستخدام بروتوكول SSL (استنادًا إلى الطبقة 5 من نموذج OSI). ومع ذلك، في أيلول (سبتمبر) 2016، واجهنا خطأً تسبّب في تجاهل تقارير سرعة نقل البيانات لوقت التشفير الإضافي. وقد أدّى ذلك إلى تسجيل سرعات نقل بيانات وفواتير منخفضة بشكل مصطنع في حسابك لعدة أشهر.

لقد طرحنا حلًا لهذا الخطأ في أواخر آذار (مارس) 2017، ما أدى إلى إعادة عرض تقارير وفواتير النطاق الترددي بالمستويات العادية.



Remote Config

ما لم يتم استرجاع القيم باستخدام fetchAndActivate()، يتم تخزين القيم على الجهاز ولكن لا يتم تفعيلها. لتفعيل القيم التي تم استرجاعها حتى تتمكّن من تطبيقها، اتصل بالرقم activate. يتيح لك هذا التصميم التحكّم في وقت تغيُّر سلوك تطبيقك ومظهره، لأنّه يمكنك اختيار وقت استدعاء activate. بعد استدعاء activate، يحدّد رمز المصدر لتطبيقك وقت استخدام قيم المَعلمات المعدَّلة.

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

للاطّلاع على مزيد من المعلومات عن Remote Config API ونموذج الاستخدام، اطّلِع على نظرة عامة على Remote Config API.

أثناء تطوير التطبيق، قد تحتاج إلى جلب الإعدادات وتفعيلها بشكل متكرّر جدًا (عدة مرات في الساعة) للسماح لك بإجراء عمليات تكرار سريعة أثناء تطوير تطبيقك واختباره. لاستيعاب عمليات التكرار السريعة في مشروع يتضمّن ما يصل إلى 10 مطوّرين، يمكنك ضبط عنصر FirebaseRemoteConfigSettings مؤقتًا بحد أدنى من الفاصل الزمني لعمليات جلب البيانات (setMinimumFetchIntervalInSeconds) في تطبيقك.

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

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



Test Lab

يُرجى الانتقال إلى Test Lab صفحة تحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن الأسئلة الشائعة.



مساحة تخزين تصنيف المستخدِمين في Firebase

تخزِّن ميزة "تخزين شرائح الجمهور في Firebase" معرّفات تثبيت Firebase والسمات والشرائح ذات الصلة، بالإضافة إلى قوائم الجمهور التي أنشأتها، وذلك لتقديم معلومات الاستهداف إلى خدمات Firebase الأخرى التي تستخدمها، مثل تخصيص Crashlytics وFCM وRemote Config وغير ذلك.