هل لديك مشاكل أخرى أو لا تظهر مشكلتك الموضّحة أدناه؟ يُرجى الإبلاغ عن خطأ أو طلب ميزة والانضمام إلى مناقشات Stack Overflow.
مشاريع Firebase وتطبيقات 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 هي حاوية لمشاريع Google Cloud (بما في ذلك مشاريع Firebase). يتيح هذا التسلسل الهرمي تنظيمًا أفضل، وإدارة وصول أفضل، وتدقيق أفضل لمشاريعك على Google Cloud وFirebase. لمزيد من المعلومات، يُرجى الرجوع إلى مقالة إنشاء المؤسسات وإدارتها.
كيف يمكنني إضافة Firebase إلى مشروع Google Cloud حالي؟
قد يكون لديك مشاريع Google Cloud حالية تُدار من خلال وحدة تحكّم Google Cloud أو Google APIs Console.
يمكنك إضافة Firebase إلى مشاريع Google Cloud الحالية هذه باستخدام أيٍّ مما يلي: الخيارات التالية:
- باستخدام وحدة تحكّم Firebase
- باستخدام خيار آلي:
- استدعاء نقطة نهاية Firebase Management REST API
projects.addFirebase
- شغِّل الأمر Firebase من واجهة سطر الأوامر
firebase projects:addfirebase
. - استخدِم Terraform.
- استدعاء نقطة نهاية Firebase Management REST API
اطّلِع على مزيد من التفاصيل حول إضافة 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
؟
في
صفحة "التصنيفات"
لمشروعك في وحدة تحكّم 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؟
تنطبق هذه الأسئلة الشائعة إذا لم يظهر لك مشروعك على Firebase في الأماكن التالية:
- في قائمة المشاريع التي تطّلع عليها ضمن وحدة تحكّم Firebase
- في الاستجابة من طلب
واجهة برمجة تطبيقات
projects.list
- في الردّ من تشغيل أمر Firebase CLI
firebase projects:list
جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
- أولاً، جرِّب الوصول إلى مشروعك من خلال الانتقال إلى عنوان URL للمشروع
مباشرةً. استخدِم التنسيق التالي:
https://console.firebase.google.com/project/PROJECT_ID/overview
- إذا لم تتمكّن من الوصول إلى المشروع أو تلقّيت أخطاء في الأذونات، تحقّق مما يلي:
- تأكَّد من تسجيل الدخول إلى 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 بشكل كبير ما دام حسابك على Cloud Billing في وضع جيد.
نادرًا ما يشكّل الحدّ الأقصى للحصة المخصّصة للمشروع مصدر قلق لمعظم المطوّرين، ولكن إذا احتجت إلى ذلك، يمكنك طلب زيادة حصة مشروعك.
يُرجى العِلم أنّ حذف مشروع بالكامل يستغرق 30 يومًا ويتم احتسابه ضمن حصتك إلى أن يتم حذفه بالكامل.
كم عدد تطبيقات Firebase التي يمكنني الحصول عليها في مشروع Firebase؟
مشروع Firebase هو حاوية لتطبيقات Firebase على أجهزة Apple وAndroid والمواقع الإلكترونية. تفرض Firebase قيودًا على إجمالي عدد تطبيقات Firebase ضمن مشروع Firebase، بحيث لا يتجاوز 30 تطبيقًا.
وبعد هذا العدد، يبدأ الأداء في الانخفاض (خاصةً بالنسبة إلى Google Analytics)، وفي النهاية، عند استخدام عدد أكبر من التطبيقات، تتوقف بعض وظائف منتجات Google عن العمل. بالإضافة إلى ذلك، إذا كنت تستخدم ميزة "تسجيل الدخول باستخدام حساب 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، انتقِل إلى settings إعدادات المشروع > عام، ثم في بطاقة مشروعك ضمن البيئة، انقر على edit لتغيير نوع البيئة.
أين يمكنني العثور على معرّف تطبيق Firebase؟
في وحدة تحكّم Firebase، انتقِل إلى settings إعدادات المشروع. انتقِل للأسفل إلى بطاقة تطبيقاتك، ثم انقر على تطبيق Firebase المطلوب لعرض معلومات التطبيق، بما في ذلك رقم تعريف التطبيق.
في ما يلي بعض الأمثلة على قيم معرّف التطبيق:
-
تطبيقات iOS في Firebase:
1:1234567890:ios:321abc456def7890
-
تطبيقات Firebase لنظام التشغيل Android:
1:1234567890:android:321abc456def7890
-
تطبيقات الويب في Firebase:
1:1234567890:web:321abc456def7890
ما هي المتطلبات الأساسية لربط حساب Google Play / AdMob / Google Ads / BigQuery بحساب مشروعي أو تطبيقي على Firebase؟
- لربط
حسابك على Google Play، يجب استيفاء الشروط التالية:
- أيٌّ من الدورَين التاليَين في Firebase: المالك أو مشرف Firebase
- أيّ من مستويَي الوصول التاليَين في Google Play: مالك الحساب أو المشرف
- أيٌّ من الدورَين التاليَين في Firebase: المالك أو مشرف Firebase
- لربط تطبيق AdMob، يجب أن تكون صاحب مشروع على Firebase ومسؤول AdMob.
- لربط حسابك على AdWords، يجب أن تكون صاحب مشروع على Firebase ومشرفًا على AdWords.
- لربط مشروعك على BigQuery، يجب أن تكون صاحب مشروع Firebase.
ما هي إشعارات المصادر المفتوحة التي يجب تضمينها في تطبيقي؟
على منصات Apple، يحتوي حِزمة Firebase على ملف NOTICES يتضمّن
الإدخالات ذات الصلة. تحتوي حزمة تطوير البرامج (SDK) لمنصّة Android من Firebase على مساعد Activity
لعرض معلومات الترخيص.
الأذونات والوصول إلى مشاريع Firebase
كيف يمكنني منح دور لأحد أعضاء المشروع، مثل دور "المالك"؟
لإدارة الأدوار المخصّصة لكل عضو في المشروع، يجب أن تكون مالكًا لمشروع Firebase
(أو أن يتم منحك دورًا يتضمن الإذن
resourcemanager.projects.setIamPolicy
).
في ما يلي الأماكن التي يمكنك فيها منح الأدوار وإدارتها:
- توفّر وحدة تحكّم Firebase طريقة مبسّطة لمنح الأدوار لأعضاء المشروع في علامة التبويب المستخدمون والأذونات ضمن settings > إعدادات المشروع. في وحدة تحكّم Firebase، يمكنك منح أيّ من الأدوار الأساسية (المالك أو المحرِّر أو المُشاهد) أو أدوار مشرف/مُشاهد Firebase أو أيّ من أدوار فئة المنتج المحدّدة مسبقًا في Firebase.
- توفّر وحدة تحكّم Google Cloud مجموعة واسعة من الأدوات لمنح الأدوار لأعضاء المشروع
في
صفحة إدارة الهوية وإمكانية الوصول. في وحدة تحكّم Cloud، يمكنك أيضًا إنشاء
وإدارة
الأدوار المخصّصة، بالإضافة إلى منح حسابات الخدمة
إذن الوصول إلى مشروعك.
يُرجى العِلم أنّه في وحدة تحكّم Google Cloud، يُطلق على أعضاء المشروع اسم المشرفون.
إذا لم يعُد بإمكان مالك مشروعك تنفيذ مهام مالك (على سبيل المثال، إذا غادر الشخص شركتك) ولم يكن مشروعك مُدارًا من خلال Google Cloud مؤسسة (راجِع الفقرة التالية)، يمكنك التواصل مع فريق دعم Firebase والاستفسار منه عن كيفية طلب الوصول إلى مشروع Firebase.
يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، قد لا يكون له مالك. إذا لم تتمكّن من العثور على مالك لمشروعك على Firebase، تواصَل مع الشخص الذي يدير Google Cloud مؤسستك لتعيين مالك للمشروع.
كيف يمكنني العثور على مالك مشروع Firebase؟
يمكنك الاطّلاع على أعضاء المشروع وأدوارهم في الأماكن التالية:
- إذا كان بإمكانك الوصول إلى المشروع في وحدة تحكّم Firebase، يمكنك الاطّلاع على قائمة أعضاء المشروع، بما في ذلك المالكين، في صفحة "المستخدمون والأذونات" في وحدة تحكّم Firebase.
- إذا لم يكن بإمكانك الوصول إلى المشروع في وحدة تحكّم Firebase، تحقّق ممّا إذا كان بإمكانك الوصول إلى المشروع في وحدة تحكّم Google Cloud. يمكنك الاطّلاع على قائمة أعضاء المشروع، بما في ذلك المالكين، في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.
إذا لم يعُد بإمكان مالك مشروعك تنفيذ مهام المالك (على سبيل المثال، إذا غادر المستخدم شركتك) ولم يكن مشروعك مُدارًا من خلال مؤسسة Google Cloud (راجِع الفقرة التالية)، يمكنك التواصل مع فريق دعم Firebase لتعيين مالك مؤقت.
يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، قد لا يكون له مالك. بدلاً من ذلك، يمكن للمستخدم الذي يدير Google Cloud مؤسستك تنفيذ العديد من المهام التي يمكن للمالك تنفيذها. ومع ذلك، لنتمكّن من تنفيذ العديد من المهام الخاصة بالمالك (مثل منح الأدوار أو إدارة Google Analytics المواقع)، قد يحتاج المشرف إلى منح himself دور المالك الفعلي من أجل تنفيذ هذه المهام. إذا لم تتمكّن من العثور على مالك لمشروعك على Firebase، تواصَل مع الشخص الذي يدير مؤسستك على Google Cloud لتحديد مالك للمشروع.
متى أو لماذا يجب أن أمنح أحد أعضاء المشروع دور "المالك"؟
لضمان الإدارة المناسبة لمشروع Firebase، يجب أن يكون لديه مالك. مالك المشروع هو الشخص الذي يمكنه تنفيذ العديد من الإجراءات الإدارية المهمة (مثل منح الأدوار وإدارة مواقع Google Analytics)، ولا يمكن لقسم دعم Firebase تلبية الطلبات الإدارية إلا من مالكِي المشروعات الذين تم إثبات هويتهم.
بعد إعداد مالكي مشروع على Firebase، من المهم إبقاء هذه التعيينات محدّثة.
يُرجى العِلم أنّه إذا كان مشروع Firebase جزءًا من مؤسسة Google Cloud، يمكن للمستخدم الذي يدير مؤسستك على Google Cloud تنفيذ العديد من المهام التي يمكن للمالك تنفيذها. ومع ذلك، بالنسبة إلى العديد من المهام الخاصة بالمالك (مثل منح الأدوار أو إدارة مواقع Google Analytics)، قد يحتاج المشرف إلى منح نفسه دور المالك الفعلي لتنفيذ هذه المهام.
لا أعتقد أنّ لديّ مشروعًا على Firebase، ولكنني تلقّيت رسالة إلكترونية بشأن أحد المشاريع. كيف يمكنني الوصول إلى هذا المشروع؟
من المفترض أن يتضمّن البريد الإلكتروني الذي تلقّيته رابطًا لفتح مشروعك على Firebase. من المفترض أن يؤدي النقر على الرابط في الرسالة الإلكترونية إلى فتح المشروع في وحدة تحكّم Firebase.
إذا لم تتمكّن من فتح المشروع في الرابط، تأكَّد من تسجيل الدخول إلى Firebase باستخدام حساب Google نفسه الذي تلقّى الرسالة الإلكترونية بشأن المشروع. يمكنك تسجيل الدخول إلى وحدة تحكّم Firebase وتسجيل الخروج منها من خلال صورتك الرمزية في أعلى يسار وحدة التحكّم.
يُرجى العلم أنّه إذا كنت مشرفًا في مؤسسة Google Cloud، قد يتم إعلامك بالتغييرات التي تطرأ على مشاريع Firebase داخل مؤسستك. ومع ذلك، قد لا تتوفّر لديك أذونات كافية لفتح مشروع Firebase. في هذه الحالات، أبسط حلّ هو منح نفسك دور المالك الفعلي لفتح المشروع وتنفيذ الإجراءات المطلوبة. مزيد من المعلومات حول سبب منح دور "المالك" وحالات منحه
المنصّات والأُطر
يمكنك الانتقال إلى صفحات الأسئلة الشائعة وتحديد المشاكل وحلّها الخاصة بالمنصة للحصول على نصائح مفيدة واطلاع على المزيد من الأسئلة الشائعة.
وحدة تحكّم Firebase
ما هي المتصفحات المتوافقة للوصول إلى وحدة تحكّم Firebase؟
يمكن الوصول إلى وحدة تحكّم Firebase من أحدث إصدارات متصفّحات الكمبيوتر المكتبي الشائعة، مثل Chrome وFirefox وSafari وEdge. لا تتوفّر المتصفّحات المتوافقة مع الأجهزة الجوّالة بشكل كامل حاليًا.
يمكنني تحميل وحدة تحكّم Firebase، ولكن لماذا لا يمكنني العثور على مشروعي على Firebase أو الوصول إليه؟
تنطبق هذه الأسئلة الشائعة في حال مواجهة أيّ من المشاكل التالية:
- تعرِض وحدة تحكّم Firebase صفحة خطأ تشير إلى أنّه قد لا يكون مشروعك متوفّرًا أو أنّه لا يمكنك الوصول إليه.
- لا تعرض وحدة تحكّم Firebase مشروعك حتى عند إدخال رقم تعريف المشروع أو اسمه في حقل البحث في وحدة التحكّم.
جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
- أولاً، جرِّب الوصول إلى مشروعك من خلال الانتقال إلى عنوان URL للمشروع
مباشرةً. استخدِم التنسيق التالي:
https://console.firebase.google.com/project/PROJECT-ID/overview
- إذا لم تتمكّن من الوصول إلى المشروع أو تلقّيت أخطاء في الأذونات،
تحقّق مما يلي:
- تأكَّد من تسجيل الدخول إلى Firebase باستخدام حساب Google نفسه الذي يتضمّن إذن الوصول إلى المشروع. يمكنك تسجيل الدخول إلى وحدة تحكّم Firebase وتسجيل الخروج منها من خلال صورتك الرمزية في حسابك في أعلى يسار وحدة التحكّم.
- تأكَّد من أنّه تم تفعيل واجهة برمجة التطبيقات Firebase Management API لمشروع.
- تأكَّد من أنّه تم إسناد أحد أدوار إدارة الهوية وإمكانية الوصول الأساسية (المالك أو المحرِّر أو المُشاهد) أو دور يتضمّن أذونات ذات صلة بمنصّة Firebase، مثلاً دور pre-defined في Firebase. يمكنك الاطّلاع على أدوارك في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.
- إذا كان مشروعك ينتمي إلى مؤسسة Google Cloud، قد تحتاج إلى أذونات إضافية للاطّلاع على المشروع المدرَج في كونسول Firebase. تواصَل مع الشخص الذي يدير Google Cloud مؤسستك لمنحك الدور المناسب لعرض المشروع، مثلاً دور "المتصفّح".
إذا لم تتمكن من العثور على مشروعك أو الوصول إليه من خلال أي من خطوات تحديد المشاكل وحلّها أعلاه، يُرجى التواصل مع فريق دعم Firebase.
لماذا لا يتم تحميل وحدة تحكّم Firebase؟
تنطبق هذه الأسئلة الشائعة في حال مواجهة أيّ من المشاكل التالية:
- لا تكتمل عملية تحميل صفحة في وحدة تحكّم Firebase أبدًا.
- لا يتم تحميل البيانات داخل الصفحة على النحو المتوقّع.
- تظهر لك رسائل خطأ في المتصفّح عند تحميل وحدة تحكّم Firebase.
جرِّب اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
- تحقَّق من صف وحدة التحكّم في لوحة بيانات حالة Firebase بحثًا عن أي انقطاعات محتملة في الخدمة
- تأكَّد من استخدام متصفّح متوافق.
- حاوِل تحميل وحدة تحكّم Firebase في نافذة تصفّح متخفٍّ أو نافذة خاصة.
- أوقِف جميع إضافات المتصفّح.
- تأكَّد من أنّ اتصال الشبكة غير محظور من خلال أداة حظر الإعلانات أو برنامج مكافحة الفيروسات أو الخادم الوكيل أو جدار الحماية أو أي برنامج آخر.
- جرِّب تحميل وحدة تحكّم Firebase باستخدام شبكة أو جهاز مختلفَين.
- إذا كنت تستخدم Chrome، تحقّق من وحدة تحكّم أدوات المطوّرين بحثًا عن أي أخطاء.
إذا لم تنجح أي من خطوات تحديد المشاكل وحلّها أعلاه في حلّ المشكلة، يُرجى التواصل مع فريق دعم Firebase.
كيف يتم تحديد لغة وحدة تحكّم Firebase؟
تستند إعدادات اللغة في وحدة تحكّم Firebase إلى اللغة التي اخترتها في إعدادات حسابك على Google.
لتغيير إعدادات اللغة المفضّلة، يُرجى الاطّلاع على مقالة تغيير اللغة.
تتوفّر وحدة تحكّم Firebase باللغات التالية:
- الإنجليزية
- البرتغالية البرازيلية
- مأكولات فرنسية
- الألمانية
- الإندونيسية
- اليابانية
- الكورية
- الروسية
- الصينية المبسطة
- الإسبانية
- الصينية التقليدية
ما هي الأدوار والأذونات التي تتيحها وحدة تحكّم 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 CLI--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 أرصدة مجانية للتجربة في المنتجات المدفوعة؟
يمكن استخدام خدمات Firebase المدفوعة بموجب Google Cloud الفترة التجريبية المجانية. يمكن لمستخدمي Google Cloud وFirebase الجدد الاستفادة من فترة تجريبية مدتها 90 يومًا تتضمّن رصيدًا مجانيًا بقيمة 300 دولار أمريكي في Cloud Billing لاستكشاف وتقييم منتجات Google Cloud وFirebase وخدماتها.
خلال فترة الفترة التجريبية المجانية التي تبلغ 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؟
يتم احتساب الاستخدام بدون تكلفة في خطة Blaze يوميًا. تختلف حدود الاستخدام أيضًا عن خطة Spark في ما يتعلق بCloud Functions، والمصادقة باستخدام الهاتف، وTest Lab.
بالنسبة إلى Cloud Functions، يتم احتساب الاستخدام بدون تكلفة في خطة Blaze على مستوى حساب Cloud Billing، وليس على مستوى المشروع، ويخضع للحدود التالية:
- مليونَا عملية استدعاء في الشهر
- 400,000 غيغابايت في الثانية في الشهر
- 200,000 وحدة معالجة مركزية في الثانية/شهر
- 5 غيغابايت من معدل نقل البيانات إلى الشبكة في الشهر
بالنسبة إلى مصادقة الهاتف، يتم احتساب الاستخدام بدون تكلفة في خطة Blaze شهريًا.
بالنسبة إلى Test Lab، يخضع الاستخدام بدون تكلفة في خطة Blaze للحدود التالية:
- 30 دقيقة على الجهاز الفعلي في اليوم
- 60 دقيقة للجهاز الافتراضي في اليوم
هل تتم إعادة ضبط حصة الاستخدام بدون تكلفة عند التبديل من خطة Spark إلى خطة Blaze؟
يتم تضمين الاستخدام بدون تكلفة من خطة Spark في خطة Blaze. لا تتم إعادة ضبط مساحة التخزين المتوفّرة بدون تكلفة عند الانتقال إلى خطة Blaze.
ماذا يحدث لمشروعي على Firebase إذا أضفتُ حسابات فوترة أو أزلتُها لهذا المشروع في وحدة تحكّم Google Cloud؟
في حال إضافة حساب Cloud Billing إلى مشروع في وحدة تحكّم Google Cloud، ستتم ترقية المشروع نفسه تلقائيًا إلى خطة Firebase Blaze إذا كان هذا المشروع مُدرَجًا حاليًا في خطة Spark.
في المقابل، في حال إزالة حساب Cloud Billing حالي ونشط من مشروع في وحدة تحكّم Google Cloud، سيتم الرجوع بهذا المشروع إلى خطة Firebase Spark.
كيف يمكنني تتبُّع معدّل الاستخدام والفوترة؟
يمكنك تتبُّع استخدامك لموارد المشروع في وحدة تحكّم Firebase على أيّ من لوحات البيانات التالية:
- لوحة بيانات الاستخدام والفوترة بشكل عام على مستوى المشروع
- Authentication لوحة بيانات الاستخدام (لعمليات مصادقة الهاتف على وجه التحديد)
- Cloud Firestore لوحة بيانات الاستخدام
- Cloud Functions لوحة بيانات الاستخدام
- Cloud Storage لوحة بيانات الاستخدام
- Hosting لوحة بيانات الاستخدام
- Realtime Database لوحة بيانات الاستخدام
هل يمكنني تحديد حد أقصى للاستخدام في خطة Blaze؟
لا، لا يمكنك حاليًا تحديد حد أقصى لاستخدام خطة Blaze. نحن نُقيّم خيارات وضع حدود قصوى على استخدام خطة Blaze.
يمكن لمستخدمي Blaze تحديد ميزانية لمشروعهم أو حسابهم، وملء نموذج تلقّي تنبيهات عندما يقترب إنفاقهم من هذه الحدود. تعرَّف على كيفية إعداد تنبيهات الميزانية.
ما هو نوع الدعم الذي سأحصل عليه؟
توفّر جميع تطبيقات Firebase، بما في ذلك تلك التي تستخدم خططًا بدون تكلفة، دعمًا عبر البريد الإلكتروني من فريق Firebase خلال ساعات العمل في منطقة المحيط الهادئ في الولايات المتحدة. تحصل جميع الحسابات على دعم غير محدود للمشاكل المتعلّقة بالفوترة، والمشاكل المتعلّقة بالحساب، والأسئلة الفنية (تحديد المشاكل وحلّها)، وتقارير الحوادث.
هل تقدّم خصومات للمؤسسات غير الربحية أو المؤسسات التعليمية أو المؤسسات التي تستخدم البرامج مفتوحة المصدر؟
يمكن لأي نوع من الأفراد أو المؤسسات استخدام خطة Spark، بما في ذلك المؤسسات غير الربحية والمدارس ومشاريع المحتوى المفتوح المصدر. بما أنّ هذه الخطط تتضمّن حصصًا كبيرة، لا نقدّم أي خصومات أو خطط خاصة للمشاريع التعليمية أو غير الربحية أو المشاريع التي تستخدم مصدرًا مفتوحًا.
هل تقدّم عقودًا للمؤسسات أو أسعارًا أو دعمًا أو استضافة بنية أساسية مخصّصة؟
إنّ خطة Blaze مناسبة للمؤسسات بجميع أحجامها، واتفاقية مستوى الخدمة الخاصة بنا تلبي معايير الصناعة في ما يتعلق بالبنية الأساسية للسحابة الإلكترونية أو تتجاوزها. ومع ذلك، لا نقدّم حاليًا عقودًا أو أسعارًا أو دعمًا للمؤسسات، ولا نقدّم أيضًا استضافة بنية أساسية مخصّصة (أي عمليات التثبيت على الموقع) لخدمات مثل Realtime Database. نحن نعمل جاهدين على إضافة بعض هذه الميزات.
هل تقدّم أسعارًا مخصّصة؟ أريد الدفع مقابل استخدام ميزة واحدة أو ميزتين فقط.
نقدّم أسعارًا مخصّصة في خطة Blaze، حيث تدفع فقط مقابل الميزات التي تستخدمها.
كيف تعمل خطط Firebase المدفوعة مع Ads؟ هل تتوفّر أرصدة إعلانية بدون تكلفة مع الخطط المدفوعة؟
تختلف خطط أسعار Firebase عن Ads، لذلك لا تتوفّر أرصدة إعلانية بدون تكلفة. بصفتك مطوّرًا على Firebase، يمكنك "ربط" حسابك على Ads بمنصّة Firebase لأجل تفعيل ميزة تتبُّع الإحالات الناجحة.
تتم إدارة جميع الحملات الإعلانية مباشرةً في Ads، ويُدار حساب Ads من وحدة تحكّم Ads.
ماذا حدث لخطة أسعار Flame؟
في كانون الثاني (يناير) 2020، تمت
إزالتها كخيار للاشتراكات الجديدة. تم منح مستخدمي الخطة الحالية
فترة سماح لنقل مشاريعهم من خطة Flame.
في شباط (فبراير) 2022، تم خفض اشتراك الخطط المتبقية في Flame
إلى خطة Spark.
بناءً على ذلك،
- لن يعود بإمكان مشاريع خطتَي Spark وBlaze الحالية وأي مشاريع جديدة التبديل إلى خطة Flame أو الاشتراك فيها.
- إذا نقلت مشروعًا حاليًا في خطة Flame إلى خطة أسعار مختلفة، لا يمكن إرجاع المشروع إلى خطة Flame.
- يمكن ترقية المشاريع التي تم الرجوع فيها إلى خطة Spark إلى خطة Blaze لاستئناف الخدمات المدفوعة الإضافية.
- تمت إزالة الإشارات إلى خطة Flame من المستندات.
هل لديك أسئلة أخرى حول إيقاف خطة Flame نهائيًا؟ يمكنك الاطّلاع على بعض الأسئلة الشائعة الإضافية أدناه.
هل تريد الاطّلاع على خطط الأسعار الأخرى التي تقدّمها Firebase؟ يُرجى الانتقال إلى صفحة أسعار Firebase. إذا أردت بدء نقل أي مشاريع حالية إلى خطة أسعار أخرى، يمكنك إجراء ذلك في وحدة تحكّم Firebase لمشروعك.
أسئلة شائعة إضافية حول إيقاف خطة Flame نهائيًا
لديّ مشروع أو عملية أو نموذج نشاط تجاري يعتمد على تكلفة ثابتة لخدمة Firebase. ماذا يجب أن أفعل؟
اشترِك في خطة أسعار Blaze، واحرص على ضبط تنبيهات بشأن الميزانية.
هل يمكنني الحصول على إذن وصول خاص لإنشاء مشاريع جديدة في خطة Flame؟
لا، لا تقدّم Firebase إذن وصول خاصًا للمشاريع للتبديل إلى خطة Flame أو الاشتراك فيها.
غيّرتُ خطة مشروعي في Flame إلى خطة أسعار مختلفة. كيف يمكنني تغييره مرة أخرى؟
لم يعُد من الممكن التبديل إلى خطة Flame. للوصول إلى الخدمات التي تقدّمها خطة Flame، تأكَّد من استخدام خطة أسعار Blaze، وننصح بالتفكير في إعداد تنبيهات الميزانية لمشروعك.
تم نقل مشروعي تلقائيًا إلى خطة أسعار مختلفة كجزء من إيقاف خطة Flame نهائيًا. ماذا يجب أن أفعل؟
إذا كان مشروعك يتطلّب حصة إضافية تتجاوز ما يتم توفيره في خطة Spark، عليك ترقية مشروعك إلى خطة أسعار Blaze.
لماذا سيتم إيقاف خطة Flame نهائيًا؟
على مرّ السنين، لاحظنا انخفاضًا في استخدام خطة Flame، وغالبًا ما لا تستفيد المشاريع التي تستخدم الخطة من قيمتها الكاملة. إنّ الاحتفاظ بخطة الأسعار هذه ليس مجديًا من حيث التكلفة بشكل عام، ونرى أنّه يمكننا خدمة الجميع بشكل أفضل إذا تم توجيه الموارد إلى مبادرات Firebase الأخرى.
الخصوصية
أين يمكنني العثور على معلومات حول الخصوصية والأمان في Firebase؟
اطّلِع على الصفحة الخصوصية والأمان في Firebase.
هل تسجِّل حِزم تطوير البرامج (SDK) في Firebase أي معلومات عن الاستخدام أو بيانات التشخيص خارج "إحصاءات Google"؟
نعم. تتوفّر هذه الميزة حاليًا على أجهزة iOS فقط، ولكن قد نغيّرها في المستقبل. تتضمّن حزمة تطوير البرامج (SDK) لمنصّات Apple
في Firebase إطار عمل FirebaseCoreDiagnostics
تلقائيًا. يستخدم Firebase هذا الإطار لجمع معلومات استخدام حزمة تطوير البرامج (SDK)
ومعلومات بيانات التشخيص للمساعدة في تحديد أولويات تحسينات المنتجات القادمة. الإعداد FirebaseCoreDiagnostics
اختياري، لذا إذا أردت
إيقاف إرسال سجلات بيانات تشخيص Firebase، يمكنك إجراء ذلك من خلال
إلغاء ربط المكتبة بتطبيقك. يمكنك تصفُّح المصدر الكامل،
بما في ذلك القيم المسجَّلة، على
GitHub.
A/B Testing
A/B Testing: كم عدد التجارب التي يمكنني إنشاؤها وتنفيذها؟
يُسمح لك بإنشاء ما يصل إلى 300 تجربة لكل مشروع، ويمكن أن تتألف من 24 تجربة جارية كحد أقصى، مع تصنيف الباقي على أنّه مسودة أو مكتملة.
A/B Testing: لماذا لا يمكنني عرض تجاربي بعد إلغاء ربط مشروعي بحساب "إحصاءات Google" وإعادة ربطه به؟
سيؤدي الربط بموقع Google Analytics مختلف إلى فقدان إمكانية الوصول إلى التجارب التي تم إنشاؤها مسبقًا. لاستعادة إمكانية الوصول إلى تجربة سابقة، عليك إعادة ربط مشروعك بموقع Google Analytics الذي تم ربطه عند إنشاء التجربة.
A/B Testing: لماذا أتلقّى رسالة "المشروع غير مرتبط بخدمة "إحصاءات Google"" عند إنشاء تجربة Remote Config؟
إذا سبق أن ربطت Firebase بخدمة "إحصاءات Google"، ولكن لا تزال تظهر لك رسالة تفيد بأنّه لم يتم ربط "إحصاءات Google"، تأكَّد من توفّر مصدر بيانات في "إحصاءات Google" لجميع التطبيقات في مشروعك. في الوقت الحالي، يجب ربط جميع التطبيقات في مشروع بمصدر بيانات في "إحصاءات Google" لاستخدام اختبار أ/ب.
يمكنك العثور على قائمة بجميع أحداث البث النشطة في صفحة تفاصيل دمج "إحصاءات Google" ضمن وحدة تحكّم Firebase، والتي يمكن الوصول إليها من settingsإعدادات المشروع chevron_right عمليات الدمج chevron_right إحصاءات Google chevron_right إدارة.
من المفترض أن يؤدي إنشاء مصدر بيانات على "إحصاءات Google" لأي تطبيق لا يتضمّن مصدر بيانات إلى حلّ المشكلة. تتوفّر بضع طرق لإنشاء أحداث بث للتطبيقات غير المتوفّرة:
-
إذا كان لديك تطبيق واحد أو تطبيقان فقط لا يتضمّنان مصدرًا مرتبطًا في "إحصاءات Google"، يمكنك اختيار
إحدى الطريقتَين التاليتَين لإضافة مصدر في "إحصاءات Google":
- حذف أي تطبيق لا يتضمّن بثًا نشطًا وإعادة إضافته في "وحدة تحكّم Firebase"
- من وحدة تحكّم "إحصاءات Google"، اختَر المشرف، ثم انقر على مصادر البيانات، ثم انقر على إضافة مصدر، وأضِف تفاصيل التطبيق غير المتوفّرة، ثم انقر على تسجيل التطبيق.
-
إذا كان لديك أكثر من بضع مصادر بيانات تطبيقات غير متوفّرة، فإنّ إلغاء ربط موقعك على
"إحصاءات Google" وإعادة ربطه هو الطريقة الأسرع والأكثر فعالية لإنشاء مصادر بيانات التطبيقات غير المتوفّرة:
- من settings إعدادات المشروع، انقر على عمليات الدمج.
- ضمن بطاقة إحصاءات Google، انقر على إدارة للوصول إلى إعدادات Firebase و"إحصاءات Google".
- دوِّن رقم تعريف الموقع على "إحصاءات Google" وحساب "إحصاءات Google" المرتبط.
- انقر على more_vert المزيد واختَر إلغاء ربط "إحصاءات Google" بهذا المشروع.
-
راجِع التحذير الذي يظهر (لا داعي للقلق، ستعيد ربط الموقع نفسه في
الخطوة التالية)، ثم انقر على
إلغاء ربط "إحصاءات Google".
عند اكتمال عملية إلغاء الربط، ستتم إعادة توجيهك إلى صفحة عمليات الدمج. - ضمن بطاقة إحصاءات Google، انقر على تفعيل لبدء عملية إعادة الربط.
- اختَر حسابك على "إحصاءات Google" من قائمة اختيار حساب.
-
بجانب إنشاء موقع جديد تلقائيًا في هذا الحساب، انقر على
edit تعديل، واختَر معرّف موقعك من قائمة
موقع "إحصاءات Google" التي تظهر.
ستظهر قائمة بجميع التطبيقات في مشروعك. يتم إدراج عمليات الربط الحالية لمصادر البيانات لكل تطبيق، وسيتم إنشاء مصدر بيانات للتطبيقات التي لا تتضمّن مصدر بيانات. - انقر على تفعيل "إحصاءات Google" لإعادة ربط الموقع.
- انقر على إنهاء.
إذا استمر ظهور خطأ عند محاولة إنشاء اختبارات A/B باستخدام ميزة "الإعداد عن بُعد" بعد تنفيذ هذه الخطوات، يُرجى التواصل مع فريق دعم Firebase.
AdMob
AdMob: هل يمكنني ربط تطبيقات Windows بمنصّة Firebase؟
لا، تطبيقات Windows غير متوافقة حاليًا.
AdMob: لماذا لا يمكنني ربط تطبيقي بـ AdMob من كونسول Firebase؟
يمكنك ربط تطبيق AdMob بتطبيق Firebase من خلال وحدة تحكّم AdMob. تعرَّف على كيفية إجراء ذلك.
AdMob: ما هي الأذونات أو أذونات الوصول التي أحتاج إليها لربط تطبيق Firebase بتطبيق AdMob؟
لإجراء هذا الربط، يجب أن يكون لديك إذن الوصول التالي:
- AdMob: يجب أن تكون مشرفًا في AdMob.
- Firebase: يجب أن يكون لديك إذن
firebase.links.create
، وهو مُرفق بدور المالك ودور مشرف Firebase. - Google Analytics: يجب أن يكون لديك الدور "تعديل" أو الدور "إدارة المستخدِمين" للموقع المرتبط بمشروع Firebase. مزيد من المعلومات
AdMob: هل يمكن لعدة مستخدمين في حساب AdMob نفسه ربط تطبيقات AdMob وتطبيقات Firebase؟
بالنسبة إلى حسابات AdMob المتعدّدة المستخدمين، فإنّ المستخدم الذي أنشأ أول رابط بمنصّة Firebase ووافق على بنود خدمة Firebase هو المستخدم الوحيد الذي يمكنه إنشاء روابط جديدة بين تطبيقات AdMob وتطبيقات Firebase.
AdMob: لاستخدام AdMob، ما هي حِزم SDK التي يجب استخدامها؟
لاستخدام 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
Analytics: لماذا يُنصح باستخدام "إحصاءات Google" عند استخدام منتجات Firebase؟
Google Analytics هو حلّ إحصاءات مجاني وغير محدود يعمل مع ميزات Firebase لتقديم إحصاءات فعّالة. ويتيح لك الاطّلاع على سجلّات الأحداث في Crashlytics وفعالية الإشعارات في FCM وأداء الروابط لصفحات معيّنة في Dynamic Links وبيانات عمليات الشراء داخل التطبيق من Google Play. وتوفّر هذه الميزة ميزة استهداف الجمهور المتقدّم في Remote Config وتخصيص Remote Config وغير ذلك.
يعمل Google Analytics كطبقة من الذكاء في كونسول Firebase لتزويدك بإحصاءات أكثر قابلية للاستخدام حول كيفية تطوير تطبيق عالي الجودة وتنمية قاعدة المستخدمين وتحقيق المزيد من الأرباح.
للبدء، اطّلِع على المستندات.
Analytics: كيف يمكنني التحكّم في كيفية تتم مشاركة بيانات Analytics مع بقية Firebase؟
يتم تلقائيًا استخدام بيانات Google Analytics لتحسين ميزات Firebase وGoogle الأخرى. يمكنك التحكّم في كيفية مشاركة بيانات Google Analytics في إعدادات مشروعك في أي وقت. مزيد من المعلومات عن إعدادات مشاركة البيانات
Analytics: كيف يمكنني تعديل إعدادات موقعي على "إحصاءات Google"؟
من صفحة المشرف في موقعك على "إحصاءات Google"، يمكنك تعديل إعدادات موقعك، مثل:
- إعدادات مشاركة البيانات
- إعدادات الاحتفاظ بالبيانات
- إعدادات المنطقة الزمنية والعملة
لتعديل إعدادات موقعك، اتّبِع الخطوات التالية:
- في وحدة تحكّم Firebase، انتقِل إلى settings > إعدادات المشروع.
- انتقِل إلى علامة التبويب عمليات الدمج، ثمّ انقر على إدارة أو عرض الرابط في بطاقة "إحصاءات Google".
- انقر على رابط حسابك على "إحصاءات Google" ل فتح إعدادات الحساب والموقع.
Analytics في تطبيقي على نظام التشغيل iOS: هل يمكنني تثبيت Analytics بدون ميزتَي تحديد المصدر بالاستناد إلى الإعلانات وجمع معرّف المعلِنين (IDFA)؟
نعم. اطّلِع على صفحة ضبط إعدادات جمع البيانات واستخدامها للحصول على مزيد من التفاصيل.
Analytics: ما الذي تغيّر في قسم "إحصاءات Google" بعد تحديث تشرين الأول (أكتوبر) 2021؟
يمكنك العثور على ملخّص لهذه التغييرات في مقالة مركز مساعدة Firebase بعنوان وظائف "إحصاءات Google 4" الجديدة في "إحصاءات Google لبرنامج Firebase".
Analytics: لماذا لا تظهر لي أي بيانات Analytics فيconsole Firebase بعد إلغاء ربط Firebase بخدمة "إحصاءات Google"؟
تقع بيانات Analytics ضمن موقع "إحصاءات Google"، وليس ضمن مشروع Firebase. في حال حذف الموقع أو إلغاء ربطه، لن تتمكّن Firebase من الوصول إلى data Analytics، وستظهر أمامك لوحة بيانات Analytics فارغة في وحدة تحكّم Firebase. يُرجى العِلم أنّه بما أنّ البيانات لا تزال متوفّرة في الموقع الذي سبق ربطه، يمكنك متى شئت إعادة ربط الموقع بـ Firebase والاطّلاع على بيانات Analytics في وحدة تحكّم Firebase.
سيؤدي ربط حساب جديد على "إحصاءات Google" (وبالتالي موقع جديد على "إحصاءات Google") بمشروعك على Firebase إلى ظهور لوحة تحكم Analytics فارغة في وحدة تحكّم Firebase. ومع ذلك، إذا كان موقعك المرتبط سابقًا لا يزال متوفّرًا، يمكنك نقل البيانات الحالية من الموقع القديم إلى الموقع الجديد.
Analytics: إذا تم حذف موقعي الإلكتروني على Analytics وبياناته، هل هناك طريقة لاستعادتهما؟
لا، إذا تم حذف موقعك، لا يمكن إلغاء حذفه أو استرداد بيانات Analytics التي تم جمعها سابقًا وخزّنها في ذلك الموقع.
إذا أردت بدء استخدام "إحصاءات Google" مرة أخرى، يمكنك ربط إما موقعًا جديدًا أو موقعًا حاليًا بمشروعك على Firebase. يمكنك إجراء هذا الربط في وحدة تحكّم Firebase أو واجهة مستخدِم "إحصاءات Google". اطّلِع على مزيد من المعلومات عن ربط موقع على "إحصاءات Google" بمشروعك على Firebase.
Analytics: إذا تم حذف موقعي على "إحصاءات Google"، هل يمكنني ربط موقع جديد على "إحصاءات Google" بمشروعي على Firebase والبدء في استخدام Analytics مرة أخرى؟
إذا أردت بدء استخدام "إحصاءات Google" مرة أخرى، يمكنك ربط إما موقعًا جديدًا أو موقعًا حاليًا بمشروعك على Firebase. يمكنك إجراء هذا الربط في وحدة تحكّم Firebase أو واجهة مستخدِم "إحصاءات Google". اطّلِع على مزيد من المعلومات عن ربط موقع على "إحصاءات Google" بمشروعك على Firebase.
يُرجى العِلم أنّه بما أنّ جميع بيانات Analytics يتم تخزينها في الموقع (وليس في مشروع Firebase)، لا يمكن retrieving بيانات Analytics التي تم جمعها سابقًا.
Analytics: كيف ستتأثّر منتجات Firebase أو منتجات Google المُدمَجة بحذف موقعي على "إحصاءات Google"؟
تعتمد العديد من منتجات Firebase على دمج "إحصاءات Google". في حال حذف موقعك على "إحصاءات Google" وبياناته، سيحدث ما يلي في حال استخدام المنتجات التالية:
- Crashlytics - لم يعُد بإمكانك الاطّلاع على المستخدمين الذين لم يواجهوا أي أعطال و/أو سجلّات breadcrumb و/أو تنبيهات السرعة.
- Cloud Messaging وIn-App Messaging: لم يعُد بإمكانك استخدام الاستهداف ومقاييس الحملات وتقسيم الجمهور وتصنيفات الإحصاءات.
- Remote Config - لم يعُد بإمكانك استخدام الإعدادات المستهدفة أو التخصيص.
- A/B Testing: لم يعُد بإمكانك استخدام A/B Testing لأنّه يتم توفير قياس التجربة من خلال "إحصاءات Google".
- Dynamic Links - سيتم إيقاف أي ميزة تعتمد على بيانات من "إحصاءات Google" .
بالإضافة إلى ذلك، ستتأثر عمليات الدمج التالية:
- لم يعُد بإمكانك تصدير بيانات Analytics إلى BigQuery.
- لم يعُد بإمكانك الاستفادة من عمليات دمج Google Ads أو عمليات دمج Google AdMob.
Analytics: كيف يمكنني تقسيم المستخدِمين الذين لم يستوفوا بعض المعايير؟
يمكنك إعادة صياغة المشكلة من خلال "استهداف هؤلاء المستخدِمين بشكل سلبي". على سبيل المثال، يمكنك إعادة صياغة المشكلة على النحو التالي: "عدم عرض الإعلانات للأشخاص الذين اشتروا شيئًا"، وإنشاء جمهور من هؤلاء المستخدمين لاستهدافهم.
Analytics: هل شرائح الجمهور و/أو الأحداث المحدّدة في لوحة تحكم "إحصاءات Google" متاحة أيضًا في وحدة تحكّم Firebase؟
ستتم مزامنة شرائح الجمهور وخصائص المستخدِمين. لاستخدام بعض الميزات، عليك استخدام واجهة "إحصاءات Google"، مثل التصنيف إلى شرائح و مسارات الإحالة الناجحة المغلقة. يمكنك الوصول إلى واجهة "إحصاءات Google" مباشرةً من خلال الروابط لصفحات في التطبيق من وحدة تحكّم Firebase.
يمكن أيضًا إجراء أي تغييرات تجريها من وحدة تحكّم Firebase في "إحصاءات Google"، وستظهر هذه التغييرات في Firebase.
Authentication
Firebase Authentication: ما هي المناطق التي تتوفّر فيها مصادقة الهاتف؟
تتيح Firebase Authentication إثبات ملكية رقم الهاتف على مستوى العالم، ولكن لا تُرسِل بعض الشبكات رسائل التحقّق بشكل موثوق. تحقّق المناطق التالية معدّلات تسليم جيدة، ومن المفترض أن تعمل بشكل جيد مع مصادقة الهاتف. في بعض المناطق، لا تتوفّر بعض شركات الجوّال بسبب معدّلات نجاح التسليم المنخفضة.
الإقليم | الرمز |
---|---|
م | أندورا |
AE | الإمارات العربية المتحدة |
AF | أفغانستان |
AG | أنتيغوا وبربودا |
AL | ألبانيا |
صباحا | أرمينيا |
AO | أنغولا |
تنسيق بتكنولوجيا الواقع المعزّز | الأرجنتين |
AS | ساموا الأمريكية |
AT | النمسا |
AU | أستراليا |
AW | أروبا |
أذربيجان | أذربيجان |
BA | البوسنة والهرسك |
BB | بربادوس |
BD | بنغلاديش |
بلجيكا | بلجيكا |
BF | بوركينا فاسو |
BG | بلغاريا |
BJ | بنين |
BM | برمودا |
بنغلاديش | بروناي (دار السلام) |
بوليفيا | بوليفيا |
BR | البرازيل |
BS | جزر البهاما |
BT | بوتان |
BW | بتسوانا |
بواسطة | بيلاروس |
BZ | بليز |
كندا | كندا |
قرص CD | الكونغو (كينشاسا) |
CF | جمهورية أفريقيا الوسطى |
CG | الكونغو (برازافيل) |
سويسرا | سويسرا |
CI | كوت ديفوار |
CK | جزر كوك |
CL | تشيلي |
مدير الحملة | الكاميرون |
كولومبيا | كولومبيا |
رد جاهز | كوستاريكا |
سيرة ذاتية | كيب فيرد |
CW | كوراساو |
CY | قبرص |
التشيك | جمهورية التشيك |
ألمانيا | ألمانيا |
منسّق الموسيقى | جيبوتي |
الدانمرك | الدانمرك |
رسالة مباشرة | دومينيكا |
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 | جيرسي |
JM | جامايكا |
JO | الأردن |
اليابان | اليابان |
كينيا | كينيا |
KG | قرغيزستان |
KH | كمبوديا |
KM | جزر القمر |
KN | سانت كيتس ونيفس |
كوريا الجنوبية | كوريا الجنوبية |
KW | الكويت |
كينيا | جزر كايمان |
KZ | كازاخستان |
LA | جمهورية لاو الديمقراطية الشعبية |
نقاط بسبب اصطدام الكرة بجسم ضارب الكرة | لبنان |
LC | سانت لوشيا |
LI | ليشتنشتاين |
LK | سريلانكا |
LS | ليسوتو |
LT | ليتوانيا |
LU | لكسمبورغ |
LV | لاتفيا |
LY | ليبيا |
ماجستير | المغرب |
MD | مولدوفا |
لبنان | الجبل الأسود |
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 | مايوت |
جنوب أفريقيا | جنوب أفريقيا |
ZM | زامبيا |
ZW | زيمبابوي |
Firebase Authentication: ما الذي حدث للرسائل القصيرة المجانية في خطة Spark؟
اعتبارًا من أيلول (سبتمبر) 2024، لتحسين أمان ميزة "مصادقة الهاتف" وجودة الخدمة، يجب ربط مشاريع Firebase بحساب "الفوترة في السحابة الإلكترونية" لتفعيل خدمة الرسائل القصيرة واستخدامها.
Firebase Authentication: كيف يمكنني منع إساءة استخدام رسائل SMS عند استخدام المصادقة عبر الهاتف؟
للمساعدة في حماية مشروعك من عمليات زيادة عدد الزيارات عبر الرسائل القصيرة وإساءة استخدام واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
ننصحك بضبط سياسة منطقة الرسائل القصيرة.
عرض استخدام الرسائل القصيرة على مستوى منطقة معيّنة
ابحث عن المناطق التي تتضمّن عددًا كبيرًا جدًا من الرسائل القصيرة المُرسَلة وعددًا منخفضًا جدًا (أو صفر) من الرسائل القصيرة التي تم إثبات ملكيتها. نسبة الطلبات التي تم إثبات ملكيتها إلى الطلبات المُرسَلة هي معدّل نجاحك. تتراوح معدّلات النجاح الجيدة عادةً بين %70 و%85 لأنّ الرسائل القصيرة ليست برمجية تسليم مضمّنة، وقد تواجه بعض المناطق إساءة استخدام. تشير معدّلات الاستفادة المنخفضة عن% 50 إلى إرسال العديد من الرسائل القصيرة مع تسجيل عدد قليل من عمليات تسجيل الدخول الناجحة، ما يشير إلى أنّه يتم استخدام الرسائل القصيرة بشكل غير مشروع.
استخدِم سياسة منطقة الرسائل القصيرة لرفض مناطق الرسائل القصيرة ذات معدّلات النجاح المنخفضة، أو السماح بمناطق معيّنة فقط إذا كان تطبيقك مخصّصًا للتوزيع في أسواق معيّنة فقط.
الحد من نطاقات المصادقة المعتمَدة
استخدِم
لوحة بيانات إعدادات المصادقة
لإدارة النطاقات المعتمَدة. تتم إضافة نطاق localhost
تلقائيًا إلى
نطاقات المصادقة الموافَق عليها لتبسيط عملية التطوير. ننصحك بإزالة
localhost
من النطاقات المعتمَدة في مشروع الإنتاج لمنع الجهات الفاعلة السيئة من تشغيل الرمز على localhost
للوصول إلى مشروع الإنتاج.
تفعيل ميزة "فحص التطبيق" وفرضها
فعِّل ميزة فحص التطبيقات للمساعدة في حماية مشروعك من إساءة استخدام واجهة برمجة التطبيقات من خلال الإقرار بأنّ الطلبات تأتي فقط من التطبيقات المرتبطة بمشروعك.
لاستخدام ميزة "فحص التطبيقات" مع Firebase Authentication، يجب الترقية إلى الإصدار Firebase Authentication with Identity Platform.
تذكَّر أنّه عليك فرض ميزة "التحقّق من التطبيق" للمصادقة في وحدة تحكّم Firebase (ننصحك بمراقبة عدد الزيارات قبل فرضها). تحقّق أيضًا من قائمة المواقع الإلكترونية المعتمَدة في reCAPTCHA Enterprise للتأكّد من أنّها لا تحتوي إلا على مواقع الإنتاج، ومن دقة قائمة التطبيقات المسجّلة لمشروعك في App Check.
يُرجى العِلم أنّ ميزة "فحص التطبيقات" تساعد في الحماية من الهجمات المبرمَجة من خلال التأكّد من أنّه تأتي المكالمة من أحد تطبيقاتك المسجّلة. ولا يمنع ذلك المستخدمين من استخدام تطبيقك بطرق غير مقصودة (على سبيل المثال، بدء عمليات تسجيل الدخول ثم عدم إنهائها مطلقًا لإنشاء رسائل SMS مُرسَلة).
Firebase Authentication: هل يمكن نقل أرقام الهواتف إلى مشغل شبكة جوال جديد يتوافق مع مصادقة الهاتف؟
في الوقت الحالي، سيؤدي نقل الأرقام بين مشغّلي شبكات الجوّال إلى تعذُّر تسليم جميع الرسائل القصيرة إلى هؤلاء المستخدمين النهائيين. لا يتوفّر حل بديل، وتعمل Firebase على حلّ هذه المشكلة.
Firebase Authentication: لماذا يظهر لي في تطبيقي المتوافق مع Android
الخطأ التالي:
Google sign in failed
؟
Google sign in failed
اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:
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)
تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:
في وحدة تحكّم Firebase، افتح قسم Authentication.
ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):
افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.
أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.
تأكَّد من أنّ تطبيقك يستخدم أحدث إصدار من ملف إعدادات Firebase (
google-services.json
).
احصل على ملف إعدادات تطبيقك.تحقّق مما إذا كان الخطأ لا يزال يظهر. إذا كان الأمر كذلك، انتقِل إلى الخطوة التالية لتحديد المشكلة وحلّها.
تأكَّد من توفّر برامج OAuth 2.0 الأساسية المطلوبة.
في صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud، ابحث في قسم معرّفات عملاء OAuth 2.0.
إذا لم يتوفّر لديك عملاء OAuth 2.0 (وكنت قد نفّذت كل خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.
Firebase Authentication: في تطبيقي المتوافق مع نظام التشغيل Apple، لماذا
يظهر لي الخطأ التالي:
You must specify <clientID> in <GIDConfiguration>
؟
You must specify <clientID> in <GIDConfiguration>
اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:
You must specify |clientID| in |GIDConfiguration|
تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:
في وحدة تحكّم Firebase، افتح قسم Authentication.
ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):
افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.
أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.
تأكَّد من أنّ تطبيقك يستخدم أحدث إصدار من ملف إعدادات Firebase (
GoogleService-Info.plist
).
احصل على ملف إعدادات تطبيقك.تحقّق مما إذا كان الخطأ لا يزال يظهر. إذا كان الأمر كذلك، انتقِل إلى الخطوة التالية لتحديد المشكلة وحلّها.
تأكَّد من توفّر برامج OAuth 2.0 الأساسية المطلوبة.
في صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud، ابحث في قسم معرّفات عملاء OAuth 2.0.
إذا لم يتوفّر لديك عملاء OAuth 2.0 (وكنت قد نفّذت كل خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.
Firebase Authentication: لماذا يظهر لي في تطبيق الويب
الخطأ التالي:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
؟
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
تأكَّد من أنّ ميزة تسجيل الدخول باستخدام حساب Google مفعَّلة بشكلٍ صحيح كمقدّم مصادقة:
في وحدة تحكّم Firebase، افتح قسم Authentication.
ضمن علامة التبويب طريقة تسجيل الدخول، أوقِف طريقة تسجيل الدخول باستخدام Google ثم أعِد تفعيلها (حتى إذا كانت مفعَّلة من قبل):
افتح طريقة تسجيل الدخول باستخدام Google وأوقِفها، ثم انقر على حفظ.
أعِد فتح طريقة تسجيل الدخول باستخدام Google وفعِّلها، ثم انقر على حفظ.
بالإضافة إلى ذلك، في إعدادات مقدّم خدمة تسجيل الدخول Google ضمن القسم Authentication ، تأكَّد من أنّ معرِّف العميل وسرّه في OAuth يتطابقان مع عميل الويب المعروض في بيانات الاعتماد صفحة وحدة تحكّم Google Cloud (اطّلِع على القسم معرِّفات عملاء OAuth 2.0 ).
Firebase Authentication: في تطبيق الويب الخاص بي، لماذا يتعذّر تسجيل الدخول باستخدام عمليات إعادة التوجيه
مع الخطأ التالي:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
؟
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
اتّبِع خطوات تحديد المشاكل وحلّها الواردة في هذه الأسئلة الشائعة في حال ظهور الخطأ التالي:
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
الذي تم تصنيفه على أنّه Browser key
، وتستخدم هذا المفتاح للتحقّق من أنّ عنوان 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، انتقِل إلى settings > إعدادات المشروع، ثمّ انقر على تطبيق الويب في قسم تطبيقاتك. يؤدي هذا الإجراء إلى إنشاء مفتاح واجهة برمجة التطبيقات تلقائيًا والذي يمكنك الاطّلاع عليه في قسم إعداد حزمة تطوير البرامج (SDK) وضبطها لتطبيق الويب.
يُرجى العِلم أنّ مفتاح واجهة برمجة التطبيقات الجديد هذا لن يُطلق عليه اسم
Browser key
في وحدة تحكّم Cloud، بل سيحمل الاسم نفسه المستخدَم في الاسم المعرِّف لتطبيقك على الويب في Firebase. إذا قرّرت إضافة قيود على واجهة برمجة التطبيقات إلى مفتاح واجهة برمجة التطبيقات الجديد هذا، تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.بعد إنشاء مفتاح واجهة برمجة التطبيقات الجديد، أكمِل الخطوات السارية أدناه:
إذا كنت تستخدِم عناوين URL محجوزة Hosting، عليك إعادة نشر تطبيقك على Firebase حتى يتمكّن من الحصول تلقائيًا على مفتاح واجهة برمجة التطبيقات الجديد مع بقية إعدادات Firebase.
إذا كنت تستضيف رمز تسجيل الدخول بنفسك، انسخ مفتاح واجهة برمجة التطبيقات الجديد وأضفه إلى ملف
__/firebase/init.json
، ثم أعِد نشر تطبيقك.
Firebase Authentication: كيف يمكنني إنشاء عميل برمجي لبروتوكول OAuth على الويب يدويًا؟
افتح صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud.
في أعلى الصفحة، اختَر إنشاء بيانات اعتماد > معرِّف عميل OAuth.
إذا طُلب منك ضبط شاشة طلب الموافقة، اتّبِع التعليمات الظاهرة على الشاشة، ثم تابِع الخطوات التالية الواردة في الأسئلة الشائعة هذه.
أنشئ عميل OAuth على الويب باتّباع الخطوات التالية:
في حقل نوع التطبيق، اختَر تطبيق الويب.
بالنسبة إلى مصادر JavaScript المسموح بها، أضِف ما يلي:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
بالنسبة إلى معرِّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، أضِف ما يلي:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
احفظ عميل OAuth.
انسخ معرِّف عميل OAuth الجديد وسر العميل إلى الحافظة.
في وحدة تحكّم Firebase، افتح قسم Authentication.
ضمن علامة التبويب طريقة تسجيل الدخول، افتح مقدّم خدمة تسجيل الدخول باستخدام حساب Google، ثم الصق رقم تعريف العميل وسرّ خادم الويب اللذَين أنشأتهما للتو وانسختهما من وحدة تحكّم Google Cloud. انقر على حفظ.
Firebase Authentication: كيف يتم تحديد %APP_NAME%
لنموذج الرسالة الإلكترونية لرسالة التأكيد التي يمكن
إرسالها إلى المستخدم عند الاشتراك باستخدام عنوان بريد إلكتروني وكلمة مرور؟
قبل كانون الأول (ديسمبر) 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
كيف يمكنني الترقية إلى أحدث إصدار متوافق من Node.js؟
- تأكَّد من أنّك تستخدم خطة أسعار Blaze.
- تأكَّد من استخدام أحدث إصدار من Firebase CLI.
- عدِّل حقل
engines
فيpackage.json
الدوالّ. - يمكنك اختياريًا اختبار التغييرات باستخدام Firebase Local Emulator Suite.
- أعِد نشر جميع الدوالّ.
كيف يمكنني التأكّد من أنّني نزّلت الوظائف إلى وقت تشغيل معيّن من Node.js؟
في وحدة تحكّم Firebase، انتقِل إلى لوحة بيانات الدوالّ، واختَر دالة، وتحقّق من لغة الدالة ضمن التفاصيل الإضافية.
أستخدم إضافات Firebase. هل سأتأثّر بتعديلات وقت التشغيل في Cloud Functions؟
نعم. بما أنّه تستخدم الإضافات دوالّ Cloud، يجب تعديل وقت تشغيل الإضافات وفقًا للمخطط الزمني نفسه المُستخدَم في دوالّ Cloud.
ننصحك بالتحديث بصفة دورية إلى أحدث إصدار من كل إضافة مثبّتة في مشروعك. يمكنك ترقية إضافات مشاريعك من خلال وحدة تحكّم Firebase أو واجهة برمجة تطبيقات Firebase.
أسعار Cloud Functions
لماذا أحتاج إلى حساب فوترة لاستخدام Cloud Functions for Firebase؟
تعتمد 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 غيغابايت.
لفهم المزيد من المعلومات حول كيفية تغيير فاتورتك، يُرجى مراجعة ما يلي:
- أسعار Cloud Functions: لن يتم تغيير الفئة الحالية التي تتيح استخدام الخدمة بدون تكلفة.
- أسعار Cloud Build: يوفّر Cloud Build فئة بدون تكلفة.
- أسعار Artifact Registry
- أسعار Container Registry
هل لا يزال بإمكاننا استخدام Cloud Functions for Firebase بدون تكلفة؟
نعم. في خطة Blaze، يوفّر Cloud Functions فئة بدون تكلفة لطلبات التنفيذ ووقت الحوسبة وعدد الزيارات على الإنترنت. يتمّ تقديم 2,000,000 عملية استدعاء أولى و400,000 غيغابايت في الثانية و200,000 وحدة معالجة مركزية في الثانية و5 غيغابايت من عدد الزيارات الصادرة إلى الإنترنت بدون أي تكلفة كل شهر. ولن يتم تحصيل رسوم منك إلا مقابل الاستخدام الذي يتجاوز هذه الحدود الدنيا.
بعد استخدام أول 500 ميغابايت من مساحة التخزين المجانية، ستترتب على كل عملية نشر رسوم على نطاق صغير مقابل مساحة التخزين المستخدَمة لحاوية الدالة. إذا كانت عملية التطوير تعتمد على نشر الدوالّ للاختبار، يمكنك تقليل التكاليف بشكلٍ أكبر باستخدام Firebase Local Emulator Suite أثناء التطوير.
اطّلِع على خطط أسعار Firebase وCloud Functions الأسعار ومثال على السيناريوهات.
هل تخطّط Firebase لرفع الحصص والحدود المسموح بها في Cloud Functions for Firebase؟
لا، ما مِن خطط لتغيير الحصص باستثناء إزالة الحد الأقصى لوقت الإنشاء، فبدلاً من تلقّي أخطاء أو تحذيرات عند بلوغ حصة الإنشاء اليومية التي تبلغ 120 دقيقة، سيتم تحصيل الرسوم منك بموجب أحكام خطة أسعار Blaze. اطّلِع على الحصص والقيود.
هل يمكنني الحصول على Google Cloud رصيد بقيمة 300 دولار أمريكي؟
نعم، يمكنك إنشاء حساب Cloud Billing في وحدة تحكّم Google Cloud للحصول على رصيد بقيمة 300 دولار أمريكي، ثم ربط حساب Cloud Billing هذا بمشروع على Firebase.
يمكنك الاطّلاع على مزيد من المعلومات عن رصيد Google Cloud هنا.
يُرجى العِلم أنّه في حال إجراء ذلك، عليك بعد ذلك إعداد خطة أسعار Blaze في وحدة تحكّم Firebase لكي تتمكّن من مواصلة العمل على مشروعك بعد استنفاد الرصيد البالغ 300 دولار أمريكي.
أريد اتّباع أحد مشاريع Codelab لاطلاعي على معلومات عن Firebase. هل يمكنك تزويدنا بحساب فوترة مؤقت؟
لا، عذرًا. يمكنك استخدام محاكي Firebase للتطوير بدون امتلاك حساب على Cloud Billing. بدلاً من ذلك، يمكنك محاولة التقدّم بطلب للحصول على Google Cloud فترة تجريبية مجانية. إذا كنت لا تزال تواجه مشكلة في دفع فاتورتك بسبب هذا التغيير، يُرجى التواصل مع فريق دعم Firebase.
أخشى أن أدفع مبلغًا كبيرًا.
يمكنك إعداد تنبيهات بشأن الميزانية في وحدة تحكّم Google Cloud للمساعدة في التحكّم في التكاليف. يمكنك أيضًا ضبط حدود على عدد النُسخ التي يتم تحصيل رسومها والتي تم إنشاؤها لكل وظيفة من وظائفك. للحصول على فكرة عن تكلفة السيناريوهات المعتادة، اطّلِع على مثال على أسعار Cloud Functions.
كيف يمكنني الاطّلاع على رسوم الفوترة الحالية؟
اطّلِع على لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase.
أستخدم إضافات Firebase. هل أحتاج إلى حساب فوترة؟
نعم. بما أنّه تستخدم الإضافات Cloud Functions، ستخضع الإضافات للرسوم نفسها التي تُحصَّل على الوظائف الأخرى.
لاستخدام الإضافات، عليك الترقية إلى خطة أسعار Blaze. سيتم تحصيل مبلغ صغير منك (عادةً حوالي 0.01 دولار أمريكي في الشهر) مقابل موارد Firebase المطلوبة لكل إضافة تثبّتها (حتى إذا لم يتم استخدامها)، بالإضافة إلى أي رسوم مرتبطة باستخدامك لخدمات Firebase.
Cloud Messaging
Cloud Messaging: ما الفرق بين "أداة إنشاء الإشعارات" وCloud Messaging؟
يوفّر Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) الخاصة بالعملاء وبروتوكولَي HTTP وXMPP للخادم. بالنسبة إلى عمليات النشر التي تتطلب رسائل أكثر تعقيدًا، فإنّ "إرسال الرسائل الفورية من Google" هو الخيار المناسب.
أداة إنشاء الإشعارات هي حلّ خفيف الوزن للرسائل بدون خادم تم إنشاؤه على Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، يتيح "أداة إنشاء الإشعارات" للمستخدمين إرسال الرسائل بسهولة بهدف إعادة جذب المستخدمين والحفاظ عليهم، وتعزيز نمو التطبيق، ودعم حملات التسويق.
الإمكانات | أداة إنشاء الإشعارات | Cloud Messaging | |
---|---|---|---|
الاستهداف | جهاز واحد | ||
العملاء المشتركون في مواضيع معيّنة (مثل الطقس) | |||
العملاء في شريحة مستخدمين محدّدة مسبقًا (التطبيق أو الإصدار أو اللغة) | |||
العملاء في شرائح جمهور محدّدة في "إحصاءات Google" | |||
العملاء في مجموعات الأجهزة | |||
النقل من العميل إلى الخادم | |||
نوع الرسالة | إشعارات بحجم يصل إلى 2 كيلوبايت | ||
رسائل البيانات التي يصل حجمها إلى 4 كيلوبايت | |||
التسليم | فوري | ||
التوقيت المحلي لجهاز العميل المستقبلي | |||
إحصاءات Google | تحليلات جمع الإحصاءات المضمّنة في الإشعارات وتحليلات مسار الإحالة الناجحة |
Cloud Messaging: أعلنت Apple أنّها ستوقِف نهائيًا استخدام البروتوكول الثنائي القديم لنقاط الوصول (APN). هل عليّ اتّخاذ أي إجراء؟
لا، لقد غيّرت Firebase Cloud Messaging إلى بروتوكول APNs المستنِد إلى HTTP/2 في 2017. إذا كنت تستخدم FCM لإرسال إشعارات إلى أجهزة iOS، ليس عليك اتّخاذ أي إجراء.
Cloud Messaging: هل عليّ استخدام خدمات Firebase الأخرى لاستخدام FCM؟
يمكنك استخدام Firebase Cloud Messaging كمكوّن مستقل، بالطريقة نفسها التي استخدمتها مع GCM، بدون استخدام خدمات Firebase الأخرى.
Cloud Messaging: أنا مطوّر تطبيقات حاليًا يستخدم خدمة المراسلة عبر السحابة الإلكترونية من Google (GCM). هل يجب الانتقال إلى Firebase Cloud Messaging؟
FCM هو الإصدار الجديد من "خدمات تواصل Google" ضمن علامة Firebase التجارية. وتتضمّن هذه الخدمة البنية الأساسية الأساسية لـ GCM، بالإضافة إلى حِزم تطوير برامج (SDK) جديدة لتسهيل تطوير Cloud Messaging.
تشمل مزايا الترقية إلى حزمة تطوير البرامج (SDK) لنظام "إرسال الإشعارات من Google" ما يلي:
- تطوير عملاء أبسط لم يعُد عليك كتابة رمزبرمجي خاص بك لإعادة محاولة تسجيل أو اشتراك.
- حلّ جاهز للإشعارات يمكنك استخدام أداة إنشاء الإشعارات، وهي حلّ لإرسال الإشعارات بدون خادم مع وحدة تحكّم على الويب تتيح لأي مستخدم إرسال إشعارات لاستهداف شرائح جمهور معيّنة استنادًا إلى الإحصاءات من "إحصاءات Google".
للترقية من حِزم تطوير البرامج (SDK) لـ GCM إلى حِزم تطوير البرامج (SDK) لنظام التشغيل FCM، اطّلِع على أدلة نقل بيانات تطبيقات Android و iOS.
Cloud Messaging: لماذا يتعذّر على الأجهزة المستهدَفة تلقّي الرسائل؟
عندما يبدو أنّ الأجهزة لم تتلقّى الرسائل بنجاح، تحقّق أولاً من السببَين المحتمَلَين التاليَين:
معالجة الرسائل في المقدّمة لرسائل الإشعارات يجب أن تضيف تطبيقات العميل منطق معالجة الرسائل لمعالجة رسائل الإشعارات عندما يكون التطبيق في المقدّمة على الجهاز. اطّلِع على التفاصيل الخاصة بنظامَي التشغيل iOS و Android.
قيود جدار حماية الشبكة: إذا كانت مؤسستك تستخدم جدار حماية يفرض قيودًا على الزيارات الواردة أو المغادرة من/إلى الإنترنت، عليك ضبطه للسماح بالاتصال بموقع FCM الإلكتروني لكي تتمكّن تطبيقات عملاء Firebase Cloud Messaging من تلقّي الرسائل. المنافذ التي يجب فتحها هي:
- 5228
- 5229
- 5230
يستخدم FCM عادةً 5228، ولكنّه يستخدم أحيانًا 5229 و5230. لا يوفّر FCM عناوين IP محدّدة، لذا عليك السماح لجدار الحماية بقبول الاتصالات الصادرة لجميع عناوين IP المضمّنة في مجموعات عناوين IP الواردة في رقم ASN 15169 الخاص بـ Google.
Cloud Messaging: لقد نفّذت
onMessageReceived
في تطبيق Android الخاص بي، ولكن لا يتم
استدعاؤه.
عندما يكون تطبيقك في الخلفية، يتم عرض
رسائل الإشعارات في علبة النظام، ولا يتم استدعاء
onMessageReceived
. بالنسبة إلى رسائل الإشعارات التي تحتوي على
بيانات، يتم عرض رسالة الإشعار في علبة النظام،
ويمكن استرجاع البيانات التي تم تضمينها في رسالة الإشعار
من النية التي تم إطلاقها عندما ينقر المستخدم على الإشعار.
لمزيد من المعلومات، يُرجى الاطّلاع على تلقّي الرسائل والتعامل معها.
أداة إنشاء الإشعارات: ما الفرق بين أداة إنشاء الإشعارات وCloud Messaging؟
أداة إنشاء الإشعارات هي حلّ خفيف الوزن للرسائل بدون خادم تم إنشاؤه على Firebase Cloud Messaging. من خلال وحدة تحكّم رسومية سهلة الاستخدام ومتطلبات ترميز أقل، يتيح "أداة إنشاء الإشعارات" للمستخدمين إرسال الرسائل بسهولة بهدف إعادة جذب المستخدمين والحفاظ عليهم، وتعزيز نمو التطبيق، ودعم حملات التسويق.
يوفّر Firebase Cloud Messaging مجموعة كاملة من إمكانات المراسلة من خلال حِزم تطوير البرامج (SDK) الخاصة بالعملاء وبروتوكولَي HTTP وXMPP للخادم. بالنسبة إلى عمليات النشر التي تتطلب رسائل أكثر تعقيدًا، فإنّ "إرسال الرسائل الفورية من Google" هو الخيار المناسب.
في ما يلي مقارنة بين إمكانات المراسلة التي يوفّرها Firebase Cloud Messaging و"أداة إنشاء الإشعارات":
الإمكانات | أداة إنشاء الإشعارات | Cloud Messaging | |
---|---|---|---|
الاستهداف | جهاز واحد | ||
العملاء المشتركون في مواضيع معيّنة (مثل الطقس) | |||
العملاء في شريحة مستخدمين محدّدة مسبقًا (التطبيق أو الإصدار أو اللغة) | |||
العملاء في شرائح جمهور محدّدة في "إحصاءات Google" | |||
العملاء في مجموعات الأجهزة | |||
النقل من العميل إلى الخادم | |||
نوع الرسالة | إشعارات بحجم يصل إلى 2 كيلوبايت | ||
رسائل البيانات التي يصل حجمها إلى 4 كيلوبايت | |||
التسليم | فوري | ||
التوقيت المحلي لجهاز العميل المستقبلي | |||
إحصاءات Google | تحليلات جمع الإحصاءات المضمّنة في الإشعارات وتحليلات مسار الإحالة الناجحة |
أداة إنشاء الإشعارات: أنا مطوِّر نشط لخدمة Google Cloud Messaging (GCM)، وأريد استخدام أداة إنشاء الإشعارات. ماذا يجب أن أفعل؟
أداة إنشاء الإشعارات هي حلّ جاهز يتيح لأي مستخدم إرسال إشعارات لاستهداف شرائح جمهور محدّدة استنادًا إلى إحصاءات من "إحصاءات Google". يقدّم "أداة إنشاء الإشعارات" أيضًا تحليل مسار الإحالة الناجحة لكل رسالة، ما يتيح تقييم مدى فعالية الإشعار بسهولة.
إذا كنت مطوّرًا حاليًا لخدمة GCM، عليك الترقية من حِزم تطوير البرامج (SDK) لخدمة GCM إلى حِزم تطوير البرامج (SDK) لخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" لاستخدام "أداة إنشاء الإشعارات". اطّلِع على أدلة نقل بيانات تطبيقات Android و iOS.
إيقاف ميزات FCM نهائيًا في حزيران (يونيو) 2023
ما هي واجهات برمجة تطبيقات "المراسلة عبر السحابة الإلكترونية من Firebase" التي تم إيقافها نهائيًا في 20 حزيران (يونيو) 2023، وما الذي يجب فعله إذا كنت أستخدم هذه الواجهات؟
ستتأثر واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK) التالية بإيقاف هذه الميزة نهائيًا:
واجهات برمجة تطبيقات الخادم
اسم واجهة برمجة التطبيقات | نقطة نهاية واجهة برمجة التطبيقات | التأثير على المستخدمين | مطلوب اتخاذ إجراء. |
---|---|---|---|
بروتوكول 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 1، والتي تتيح استخدام 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 إلى أحدث إصدار |
هل سيتمّ خفض إصدار الخدمة قبل حزيران (يونيو) 2024؟
لا، لديك 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 ومفاتيح الخادم؟
الرمز المميّز لبروتوكول 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 للحصول على تعليمات حول كيفية زيادة الحصة أو للحصول على اقتراحات حول كيفية توزيع الزيارات.
ما الفرق بين واجهة برمجة التطبيقات HTTP v1 وواجهات برمجة التطبيقات القديمة عند إرسال الرسائل إلى المواضيع أو مجموعات الأجهزة؟
المواضيع: لا تحتاج إلى إضافة البادئة "/topics/" إلى استهداف المواضيع عند استخدام واجهة برمجة التطبيقات من الإصدار 1.
مجموعات الأجهزة: يمكنك استخدام رمز مميّز للمجموعة كهدف رمز مميّز في واجهة برمجة تطبيقات HTTP v1. ومع ذلك، لا تعرض واجهة برمجة التطبيقات HTTP v1 أعداد عمليات النجاح أو الفشل في الاستجابة. ننصحك باستخدام مواضيع "نظام إرسال الرسائل إلى الأجهزة الجوّالة من Google" أو إدارة مجموعات أجهزتك بنفسك.
هل تتيح واجهة برمجة التطبيقات HTTP v1 إرسال رسائل إلى رموز متعدّدة في طلب واحد؟
لا، لا تتيح واجهة برمجة التطبيقات HTTP v1 هذه الميزة، التي تُعرف باسم "البث المتعدد" في واجهات برمجة التطبيقات HTTP القديمة، وهي مصمّمة بشكل أفضل لقابلية التوسّع.
بالنسبة إلى حالات الاستخدام التي تكون فيها مدة الاستجابة من البداية إلى النهاية ضرورية، أو التي يكون فيها إجمالي حجم التوسيع صغيرًا (أقل من مليون)، تنصح Google بإرسال طلبات متعددة منفصلة باستخدام واجهة برمجة التطبيقات HTTP v1. تحقّق واجهة برمجة التطبيقات لإصدار HTTP 1.0 عبر HTTP/2 أداءً مشابهًا بنسبة% 99.9 من طلبات البث المتعدد (إرسال أقل من 100 رمز مميّز). بالنسبة إلى حالات الاستخدام الشاذة (إرسال 1000 رمز مميّز)، يحقّق هذا الإجراء ما يصل إلى ثلث معدّل الإنتاجية، لذلك، يجب توفير معالجة متزامنة إضافية لتحسين حالة الاستخدام غير المعتادة هذه. يمكن للمستخدمين الاستفادة من موثوقية ومدى توفّر أكبر باستخدام واجهة برمجة التطبيقات HTTP v1 مقارنةً بميزة البث المتعدد القديمة.
بالنسبة إلى حالات الاستخدام التي يتم فيها منح الأولوية لمعدّل نقل البيانات ومعدل نقل البيانات الخارج أو عندما يكون حجم التوسيع الإجمالي كبيرًا (أكثر من مليون)، تنصح Google باستخدام رسائل المواضيع. على الرغم من أنّ المراسلة في المواضيع تتطلّب إجراءً لمرة واحدة من أجل اشتراك المستلمين في موضوع معيّن، إلا أنّها توفّر ما يصل إلى 10,000 طلب في الثانية لكل معدّل توسيع نطاق المشروع بدون حدّ أقصى لحجم الموضوع.
ما هي إصدارات حزمة "مدير SDK في Firebase" التي تتضمّن واجهات برمجة التطبيقات الجديدة؟
النظام الأساسي | إصدار حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" في Firebase |
---|---|
Node.js | الإصدار 11.7.0 أو الإصدارات الأحدث |
Python | الإصدار 6.2.0 أو الإصدارات الأحدث |
جافا | الإصدار 9.2.0 أو الإصدارات الأحدث |
انتقال | الإصدار 4.12.0 أو الإصدارات الأحدث |
.NET | الإصدار 2.4.0 أو الإصدارات الأحدث |
ما هو الفرق بين واجهة برمجة التطبيقات لإرسال الدفعات وواجهة برمجة التطبيقات لإصدار HTTP 1؟
تستخدم واجهة برمجة التطبيقات لإرسال الدفعات في "خدمة المراسلة عبر السحابة الإلكترونية من Firebase" تنسيق الرسائل وآلية المصادقة نفسها المستخدَمة في واجهة برمجة التطبيقات للإصدار 1 من HTTP. ومع ذلك، يستخدم ملف تعريف الارتباط نقطة نهاية مختلفة. إذا كنت تريد تحسين الكفاءة، ننصحك باستخدام بروتوكول HTTP/2 لإرسال طلبات متعدّدة عبر اتصال HTTP نفسه إلى واجهة برمجة التطبيقات HTTP v1.
ماذا أفعل إذا تعذّر عليّ الوصول إلى مشروعي؟
يُرجى التواصل مع فريق دعم Google Cloud للحصول على المساعدة.
هل يمكن للمشاريع الجديدة تفعيل Cloud Messaging API القديمة؟
لا، اعتبارًا من 20 أيار (مايو) 2024، لن يُسمح للمشاريع الجديدة بتفعيل واجهات برمجة التطبيقات القديمة.
متى يمكنني إيقاف واجهة برمجة التطبيقات القديمة Cloud Messaging API؟
بعد التأكّد من نقل بياناتك بالكامل إلى واجهة برمجة التطبيقات HTTP v1، يمكنك إيقاف واجهة برمجة التطبيقات القديمة Cloud Messaging API (قد يتعذّر تحميل الصفحة إذا سبق أن تم إيقاف واجهة برمجة التطبيقات).
FCM الحصص والحدود
كيف يمكنني إرسال إشعار إلى قاعدة عملاء كبيرة خلال دقيقتين؟
لا يمكن استخدام حالة الاستخدام هذه. يجب توزيع الزيارات على مدار 5 دقائق.
يُرسِل تطبيقي إشعارات للمستخدمين بشأن الأحداث، ويجب إرسال هذه الرسائل على الفور لدعم نموذج نشاطي التجاري. هل يمكنني الحصول على حصة أكبر؟
لا يمكننا منح زيادة في الحصة لهذا السبب. يجب توزيع الزيارات على مدار 5 دقائق.
تتضمّن رسائلي معلومات عن الأحداث المُجدوَلة. كيف يمكنني إرسال كلّ الزيارات في بداية الساعة؟
ننصحك ببدء إرسال الإشعارات قبل 5 دقائق على الأقل من بدء الحدث.
ما هي المدة التي سيستغرقها تنفيذ طلب الحصة؟
يعتمد ذلك قليلاً على استخدامك لخدمة "إشعارات Google من خادم Firebase". في جميع الأحوال، يمكنك توقّع تلقّي ردّ في غضون بضعة أيام عمل. في بعض الحالات، قد يكون هناك بعض التراجعات بشأن استخدامك لخدمة "إشعارات Google من خادم Firebase" وظروف مختلفة، ما قد يؤدي إلى إطالة العملية. في حال استيفاء جميع المتطلبات، سيتم معالجة معظم الطلبات في غضون أسبوعَين.
كيف يمكنني تتبُّع معدّل استخدام حصتي؟
اطّلِع على إرشادات Google Cloud حول كيفية إنشاء رسوم بيانية وتتبُّع مقاييس الحصة.
يصعب التعامل مع أخطاء 429 بالنسبة إليّ / لنشاطي التجاري. هل يمكنني الحصول على إعفاء أو حصة أكبر لتجنُّب تلقّي الخطأ 429؟
ندرك أنّ حدود الحصص قد تكون صعبة، ولكنّ الحصص مهمة للحفاظ على موثوقية الخدمة ولا يمكننا منح أي استثناءات.
هل يمكنني الحصول على حصة أكبر لحدث مؤقت؟
يمكنك طلب حصة إضافية لتلبية احتياجات حدث يستمر لمدة تصل إلى شهر واحد. يجب تقديم الطلب قبل شهر واحد على الأقل من بدء الحدث مع تضمين تفاصيل واضحة عن وقت بدء الحدث وانتهائه، وسيكون لدى فريق FCM كل الجهود العملية اللازمة لتنفيذ الطلب (لا يمكن ضمان أي زيادة). ستتم إعادة هذه الزيادات في الحصة بعد تاريخ انتهاء الحدث.
هل يمكن أن تتغيّر حصتي الحالية؟
على الرغم من أنّ Google لن تتّخذ هذا الإجراء إلا بعد تفكير متأنٍّ، قد يتم تغيير الحصص عند الحاجة لحماية سلامة النظام. وستُعلمك Google مسبقًا بهذه التغييرات كلما أمكن ذلك.
Cloud Storage for Firebase
Cloud Storage for Firebase: لماذا لا يمكنني استخدام Cloud Storage for Firebase؟
تنشئ 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 في ذلك المشروع.
Cloud Storage for Firebase: لماذا أتلقّى الردود التي تتضمّن رمز الخطأ 412 حول أذونات حساب الخدمة وعمليات حساب الخدمة التي تعذّر إكمالها عند استخدام واجهة برمجة التطبيقات Cloud Storage for Firebase؟
من المرجّح أن تظهر لك رموز الخطأ 412 إما لأنّ واجهة برمجة التطبيقات Cloud Storage for Firebase غير مفعّلة لمشروعك أو لأنّ حساب الخدمة الضروري لا يتضمّن الأذونات المطلوبة.
اطّلِع على الأسئلة الشائعة ذات الصلة.
Cloud Storage for Firebase: في مشاريع خطة Spark، هل يمكنني تخزين ملفات قابلة للتنفيذ؟
بالنسبة إلى مشاريع الخطة المجانية (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، انتقِل إلى صفحة منتج "مساحة التخزين" في مشروعك.
- في علامة التبويب الملفات، ابحث عن الملفات غير المسموح بحذفها في التسلسل الهرمي للمجلد، ثم اختَرها باستخدام مربّع الاختيار بجانب أسماء الملفات على يمين اللوحة.
- انقر على حذف، وأكِّد حذف الملفات.
يُرجى الرجوع إلى مستنداتنا للحصول على معلومات إضافية عن إدارة موارد الاستضافة باستخدام أدوات Firebase و مجموعات بيانات التخزين في "سحابة تخزين Google" لـ Firebase باستخدام مكتبات العملاء.
Cloud Storage for Firebase: لماذا ألاحظ زيادة غير متوقّعة في عمليات التحميل والتنزيل؟
في السابق، لم يكن يتم احتساب طلبات التنزيل والتحميل إلى واجهة برمجة التطبيقات Cloud Storage for Firebase بشكل صحيح. لقد اتّخذنا خطوات لحلّ هذه المشكلة، اعتبارًا من 15 أيلول (سبتمبر) 2023.
بالنسبة إلى مستخدمي Blaze، ستبدأ عمليات التحميل والتنزيل في احتساب رسوم ملفاتك ضمن فاتورتك الشهرية. بالنسبة إلى مستخدمي Spark، سيبدأ احتسابهم ضمن الحد الأقصى المجاني المخصّص لك في كل شهر.
ننصحك بمراقبة صفحة "الاستخدام" بحثًا عن أي زيادات قد تُحتسَب ضمن حدودك.
Cloud Storage for Firebase: لماذا أرى أرقام تعريف حسابات خدمات جديدة مرتبطة بمشاريعي على Firebase التي تستخدم Cloud Storage for Firebase؟
تستخدِم 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
كيف يمكنني توقّع المبلغ الذي سيتم تحصيله منّي مقابل عمليات التحميل والنزّل؟
انتقِل إلى صفحة "أسعار Firebase" واستخدِم حاسبة خطة Blaze. يسرد هذا الحاسب جميع أنواع الاستخدام لـ Cloud Storage for Firebase.
استخدِم أشرطة التمرير لإدخال الاستخدام المتوقّع لحزمة التخزين. ستقدِّر حاسبة فاتورتك الشهرية.
ماذا يحدث في حال تجاوزت حدود التحميل أو التنزيل أو مساحة التخزين في خطة Spark لشهر Cloud Storage for Firebase؟
عند تجاوز الحدود المسموح بها Cloud Storage في مشروع على خطة Spark، تعتمد النتيجة على نوع الحدّ الذي تم تجاوزه:
- إذا تجاوزت الحد الأقصى للبيانات المخزّنة، لن تتمكّن من تخزين المزيد من البيانات في هذا المشروع ما لم تتمكّن من إزالة بعض البيانات المخزّنة أو الترقية إلى خطة توفّر مساحة تخزين أكبر أو مساحة تخزين غير محدودة.
- إذا تجاوزت الحد الأقصى للبيانات التي تم تنزيلها، لن يتمكّن تطبيقك من تنزيل المزيد من البيانات إلى اليوم التالي (بدءًا من منتصف الليل بالتوقيت الرسمي للمحيط الهادئ في الولايات المتحدة)، ما لم تُجري ترقية إلى خطة ذات حدود أقل تقييدًا أو بدون حدود.
- في حال تجاوز الحد الأقصى لعمليات التحميل أو التنزيل ، لن يتمكّن تطبيقك من تحميل المزيد من البيانات أو تنزيلها إلى اليوم التالي (بدءًا من منتصف الليل بالتوقيت الرسمي للمحيط الهادئ في الولايات المتحدة)، ما لم يتم upgrade إلى خطة ذات حدود أقل تقييدًا أو بدون حدود.
Crashlytics
يمكنك الانتقال إلى Crashlytics صفحة الأسئلة الشائعة وتحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
Dynamic Links
Dynamic Links: ما هي الخطط المستقبلية لمنصّة Firebase في ما يتعلّق بـ Dynamic Links؟
يُرجى الاطّلاع على Dynamic Links الأسئلة الشائعة.
Dynamic Links: لماذا يصل تطبيق Android إلى كل رابط ديناميكي مرّتين؟
تُزيل واجهة برمجة التطبيقات getInvitation
الرابط الديناميكي المحفوظ
لمنع الوصول إليه مرّتين. احرص على استدعاء واجهة برمجة التطبيقات هذه
مع ضبط المَعلمة autoLaunchDeepLink
على
false
في كلٍّ من أنشطة الروابط لصفحات في التطبيق بهدف محو بياناته
في حال بدء النشاط خارج النشاط
الرئيسي.
Hosting
Hosting: في مشاريع خطة Spark، هل يمكنني تخزين ملفات قابلة للتنفيذ؟
بالنسبة إلى مشاريع الخطة المجانية (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، انتقِل إلى صفحة منتج "مساحة التخزين" في مشروعك.
- في علامة التبويب الملفات، ابحث عن الملفات غير المسموح بحذفها في التسلسل الهرمي للمجلد، ثم اختَرها باستخدام مربّع الاختيار بجانب أسماء الملفات على يمين اللوحة.
- انقر على حذف، وأكِّد حذف الملفات.
يُرجى الرجوع إلى مستنداتنا للحصول على معلومات إضافية عن إدارة موارد الاستضافة باستخدام أدوات Firebase و مجموعات بيانات التخزين في "سحابة تخزين Google" لـ Firebase باستخدام مكتبات العملاء.
Hosting: لماذا يعرض جدول سجلّ الإصدارات في Hosting في وحدة تحكّم Firebase أعداد ملفات تفوق عدد الملفات في مشروعي على الجهاز؟
تُضيف Firebase تلقائيًا ملفات إضافية تحتوي على بيانات وصفية عن الموقع الإلكتروني Hosting، ويتم تضمين هذه الملفات في إجمالي عدد الملفات للإصدار.
Hosting: ما هو أكبر حجم ملف يمكنني نشره على Firebase Hosting؟
يفرض Hosting حدًا أقصى يبلغ 2 غيغابايت لحجم الملفات الفردية.
ننصحك بتخزين الملفات الأكبر حجمًا باستخدام Cloud Storage، الذي يقدّم حدًا أقصى للحجم في نطاق وحدات تيرابايت للعناصر الفردية.
Hosting: كم عدد Hosting موقعًا إلكترونيًا يمكنني الحصول عليه لكل مشروع على Firebase؟
تتيح ميزة Firebase Hosting المواقع الإلكترونية المتعدّدة استخدام 36 موقعًا إلكترونيًا كحدّ أقصى لكل مشروع.
Performance Monitoring
يمكنك الانتقال إلى Performance Monitoring صفحة الأسئلة الشائعة وتحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
Performance Monitoring: كم عدد أنماط عناوين URL المخصّصة التي يمكنني إنشاؤها؟
يمكنك إنشاء ما يصل إلى 400 نمط عنوان URL مخصّص بحد أقصى لكل تطبيق وما يصل إلى 100 نمط عنوان URL مخصّص بحد أقصى لكل نطاق لهذا التطبيق.
Performance Monitoring: لماذا لا تظهر لي بيانات الأداء في الوقت الفعلي؟
للاطّلاع على بيانات الأداء في الوقت الفعلي، تأكَّد من أنّ تطبيقك يستخدم 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
Realtime Database: ما المقصود بـ "الاتصال المتزامن بقاعدة البيانات"؟
ويعادل الاتصال المتزامن جهازًا جوّالاً واحدًا أو أو علامة تبويب في المتصفّح أو تطبيق خادم متصل بقاعدة البيانات. تفرض منصة Firebase حدودًا صارمة على عدد عمليات الاتصال المتزامنة بقاعدة بيانات تطبيقك. تم وضع هذه الحدود بهدف حماية كلّ من Firebase والمستخدمين من إساءة الاستخدام.
الحد الأقصى لعدد الحسابات في خطة Spark هو 100 حساب ولا يمكن زيادته. تبلغ سعة خطتَي Flame و Blaze 200,000 اتصال متزامن لكل قاعدة بيانات.
لا يتساوى هذا الحد الأقصى مع إجمالي عدد مستخدمي تطبيقك، لأنّ المستخدمين لا يتصلون جميعًا في الوقت نفسه. إذا كنت بحاجة إلى أكثر من 200,000 عملية اتصال متزامنة، يُرجى الاطّلاع على مقالة توسيع نطاق الوصول باستخدام قواعد بيانات متعددة.
Realtime Database: ما هي قيود التوسيع في Realtime Database؟
تفرض كلّ نسخة من Realtime Database حدودًا على عدد عمليات الكتابة في الثانية. بالنسبة إلى عمليات الكتابة الصغيرة، يكون هذا الحدّ هو 1, 000 عملية كتابة في الثانية تقريبًا. إذا كنت تقترب من هذا الحدّ الأقصى، يمكن أن تساعدك عمليات تجميع العمليات باستخدام تعديلات المسارات المتعددة في تحقيق معدل نقل بيانات أعلى.
بالإضافة إلى ذلك، تفرض كل نسخة من قاعدة البيانات حدًا أقصى على عدد عمليات الربط بقاعدة البيانات المتزامنة. إنّ الحدود القصوى التلقائية لدينا كبيرة بما يكفي لمعظم التطبيقات. إذا كنت بصدد إنشاء تطبيق يتطلّب توسيع نطاق إضافيًا، قد تحتاج إلى تقسيم تطبيقك على مثيلات قاعدة بيانات متعددة لتوسيع نطاق تطبيقك. يمكنك أيضًا استخدام Cloud Firestore كقاعدة بيانات بديلة.
Realtime Database: ما الذي يمكنني فعله إذا تجاوزت حدود الاستخدام المسموح بها التي تبلغ Realtime Database ؟
إذا تلقّيت تنبيهًا عبر البريد الإلكتروني أو إشعارًا في وحدة تحكّم Firebase يفيد بأنّك تجاوزت حدود استخدام Realtime Database، يمكنك معالجة ذلك استنادًا إلى حدّ الاستخدام الذي تجاوزته. للاطّلاع على استخدامك للخدمة، انتقِل إلى لوحة بيانات Realtime Database الاستخدام في وحدة تحكّمFirebase.Realtime Database
إذا تجاوزت الحد الأقصى المسموح به للتنزيل، يمكنك ترقية خطة أسعار Firebase أو الانتظار إلى أن تتم إعادة ضبط الحد الأقصى المسموح به للتنزيل في بداية دورة الفوترة التالية. لتقليل عدد عمليات التنزيل، جرِّب الخطوات التالية:
- أضِف طلبات بحث لتضييق نطاق البيانات التي تعرضها عمليات الاستماع.
- ابحث عن طلبات البحث غير المفهرَسة.
- استخدِم مستمعين ينزّلون تعديلات البيانات فقط، مثل
on()
بدلاً منonce()
. - استخدِم قواعد الأمان لحظر عمليات التنزيل غير المصرّح بها.
إذا تجاوزت الحد الأقصى المسموح به لمساحة التخزين، عليك ترقية خطة التسعير لتجنّب انقطاع الخدمة. لتقليل كمية البيانات في أي قاعدة بيانات، جرِّب الخطوات التالية:
- تشغيل مهام التنظيف الدورية
- قلِّل من أي بيانات مكرّرة في قاعدة بياناتك.
يُرجى العِلم أنّ ظهور أي عمليات حذف بيانات في مساحة التخزين المخصّصة لك قد يستغرق بعض الوقت.
إذا تجاوزت الحد الأقصى المسموح به لعمليات الربط بقاعدة البيانات في الوقت نفسه، عليك ترقية خطتك لتجنُّب أي انقطاعات في الخدمة. لإدارة عمليات الربط المتزامنة بقاعدة بياناتك، جرِّب الربط من خلال مستخدمين عبر واجهة برمجة التطبيقات REST API إذا لم تكن تتطلّب اتصالاً في الوقت الفعلي.
Realtime Database: ماذا يحدث إذا تجاوزت حدود مساحة التخزين أو التنزيل في خطة Spark لجهاز Realtime Database؟
لتقديم سعر متوقّع لك، يتم وضع حدّ أقصى للموارد المتاحة لك في خطط Spark. ويعني ذلك أنّه عند تجاوز أي حدّ من حدود الخطة في أي شهر، سيتم إيقاف تطبيقك لمنع أي استخدام إضافي للموارد ورسوم إضافية أخرى.
Realtime Database: ماذا يحدث إذا تجاوزت حدود عمليات الاتصال المتزامنة في خطة Spark لجهاز Realtime Database؟
عندما يصل تطبيقك إلى الحد الأقصى للعمليات المتزامنة في خطة Spark، سيتم رفض أي عمليات ربط لاحقة إلى أن يتم إغلاق بعض عمليات الربط الحالية. سيستمر عمل التطبيق للمستخدمين المتصلين.
Realtime Database: ما هي النسخ الاحتياطية المبرمَجة؟ هل تقدّم نُسخًا احتياطية كل ساعة من Realtime Database؟
النُسخ الاحتياطية المبرمَجة هي ميزة متقدمة تتوفّر للعملاء المشتركين في خطة الأسعار Blaze، وهي تُنشئ نسخة احتياطية من data Firebase Realtime Database مرة واحدة في اليوم وتُحمِّلها إلى Google Cloud Storage.
لا نقدّم نُسخًا احتياطية كل ساعة.
Realtime Database: لماذا تم تسجيل Realtime Database معدّل نقل بيانات أقل من المتوسط بين أيلول (سبتمبر) 2016 وآذار (مارس) 2017؟
في عمليات احتساب معدل نقل البيانات، نضيف عادةً تكلفة التشفير باستخدام بروتوكول SSL (استنادًا إلى الطبقة 5 من نموذج OSI). ومع ذلك، في أيلول (سبتمبر) 2016، واجهنا خطأً أدى إلى تجاهل تقارير سعة النطاق لوقت التشفير. وقد أدّى ذلك إلى تسجيل سرعات نقل بيانات وفواتير منخفضة بشكل مصطنع في حسابك لعدة أشهر.
لقد طرحنا حلًا لهذا الخطأ في أواخر آذار (مارس) 2017، ما أدى إلى إعادة عرض تقارير وفواتير النطاق الترددي بالمستويات العادية.
Remote Config
Remote Config: لماذا لا تغيّر القيم التي تم جلبها في سلوك تطبيقي ومظهره؟
ما لم يتم استرجاع القيم باستخدام
fetchAndActivate()
،
يتم تخزين القيم على الجهاز ولكن لا يتم تفعيلها. لتفعيل القيم التي تم استرجاعها حتى تتمكّن من تطبيقها، اتصل بالرقم activate
. يتيح لك هذا التصميم
التحكّم في وقت تغيير سلوك تطبيقك ومظهره، لأنّه
يمكنك اختيار وقت استدعاء activate
. بعد استدعاء
activate
، يحدّد رمز المصدر لتطبيقك وقت استخدام قيم المَعلمات
المعدَّلة.
على سبيل المثال، يمكنك جلب القيم ثم تفعيلها في المرة التالية التي يبدأ فيها أحد مستخدمي تطبيقك تشغيله، ما يزيل الحاجة إلى تأخير بدء تشغيل التطبيق بينما ينتظر تطبيقك القيم التي تم جلبها من الخدمة. بعد ذلك، تحدث تغييرات في سلوك تطبيقك ومظهره عندما يستخدم تطبيقك قيم المَعلمات المعدَّلة.
للاطّلاع على مزيد من المعلومات عن Remote Config API ونموذج الاستخدام، يمكنك الاطّلاع على نظرة عامة على Remote Config API.
Remote Config: أُجري الكثير من طلبات الجلب أثناء تطوير تطبيقي. لماذا لا يحصل تطبيقي دائمًا على أحدث القيم من الخدمة عند إرسال طلبات الجلب؟
أثناء تطوير التطبيق، قد تحتاج إلى جلب الإعدادات وتفعيلها
بشكل متكرّر جدًا (عدة مرات في الساعة) للسماح لك بإجراء عمليات تكرار سريعة أثناء تطوير
تطبيقك واختباره. لاستيعاب عمليات التكرار السريعة في مشروع يتضمّن ما يصل إلى 10
مطوّرين، يمكنك ضبط عنصر
FirebaseRemoteConfigSettings
مؤقتًا بحد أدنى من الفاصل الزمني لعمليات
جلب البيانات (setMinimumFetchIntervalInSeconds
) في تطبيقك.
Remote Config: ما مدى سرعة عرض خدمة Remote Config للقيم التي تم جلبها بعد أن يرسل تطبيقي طلب جلب؟
تتلقّى الأجهزة عادةً القيم التي تم جلبها في أقل من ثانية، وغالبًا ما يتم تلقّي القيم التي تم جلبها بالملي ثانية. تعالج خدمة Remote Config طلبات الجلب في غضون مللي ثانية، ولكن الوقت اللازم لإكمال طلب الجلب سيعتمد على سرعة الشبكة للجهاز ومُدد استجابة الاتصال بالشبكة التي يستخدمها الجهاز.
إذا كان هدفك هو تفعيل القيم التي تم جلبها في تطبيقك
في أقرب وقت ممكن، ولكن بدون إحداث تجربة صادمة للمستخدم،
ننصحك بإضافة طلبات إلى fetchAndActivate
في كل مرة
يُجري فيها تطبيقك عملية إعادة تحميل للشاشة بالكامل.
Test Lab
يُرجى الانتقال إلى Test Lab صفحة تحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن الأسئلة الشائعة.
مساحة تخزين تصنيف المستخدِمين في Firebase
ما هو "تخزين تصنيف المستخدِمين" في Firebase؟
تخزِّن ميزة "تخزين شرائح الجمهور في Firebase" معرّفات تثبيت Firebase والسمات والشرائح ذات الصلة، بالإضافة إلى قوائم الجمهور التي أنشأتها لتوفير معلومات الاستهداف لخدمات Firebase الأخرى التي تستخدمها، مثل تخصيص Crashlytics وFCM وRemote Config وغير ذلك.