هل لديك مشاكل أخرى أو لا تظهر مشكلتك الموضّحة أدناه؟ يُرجى الإبلاغ عن خطأ أو طلب ميزة والانضمام إلى مناقشات 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 إلى هذه المشاريع الحالية باستخدام أيٍّ مما يلي الخيارات:
- باستخدام وحدة تحكّم Firebase:
في الصفحة المقصودة وحدة تحكّم Firebase، انقر على إضافة مشروع، ثم اختَر مشروعك الحالي من قائمة اسم المشروع. - باستخدام خيار آلي:
- اطلب نقطة نهاية Firebase Management REST API
addFirebase
. - شغِّل أمر Firebase CLI
firebase projects:addfirebase
. - استخدِم Terraform.
- اطلب نقطة نهاية Firebase Management REST API
لماذا يحمل مشروعي 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 لميزة "إدارة Firebase" أو Firebase واجهة سطر الأوامر) في حالات الاستخدام المتقدّمة.
لماذا لا يظهر مشروعي على Firebase في قائمة مشاريع Firebase؟
ينطبق هذا السؤال الشائع إذا لم يظهر لك مشروع Firebase في الأماكن التالية:
- في قائمة المشاريع التي تطّلع عليها ضمن وحدة تحكّم Firebase
- في الردّ من استدعاء
نقطة نهاية
projects.list
لواجهة برمجة التطبيقات REST - في الردّ من تشغيل أمر 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" كمقدّم مصادقة، يتم إنشاء معرّف عميل أساسي لبروتوكول 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 المطلوب لعرض معلومات التطبيق، بما في ذلك رقم تعريف التطبيق.
في ما يلي بعض الأمثلة على قيم معرّف التطبيق:
-
تطبيقات Firebase لنظام التشغيل iOS:
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.
- لربط حسابك على "إعلانات Google"، يجب أن تكون مالك مشروع 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 المدفوعة للبنية الأساسية هي 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 المجانية لاستكشاف وتقييم منتجات وخدمات Firebase وGoogle Cloud.
خلال فترة 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 تنافسية مقارنةً بأسعار مقدمي خدمات الحلول السحابية الرائدين في المجال.
ماذا حدث للرسائل القصيرة المجانية في خطة Spark؟
اعتبارًا من أيلول (سبتمبر) 2024، لتحسين أمان ميزة "مصادقة الهاتف" وجودة الخدمة، يجب ربط مشاريع Firebase بحساب "الفوترة في السحابة الإلكترونية" لتفعيل خدمة الرسائل القصيرة واستخدامها.
كيف يمكنني تتبُّع معدّل الاستخدام والفوترة؟
يمكنك تتبُّع استخدامك لموارد المشروع في وحدة تحكّم Firebase على أيّ من لوحات البيانات التالية:
- لوحة بيانات الاستخدام والفوترة بشكل عام على مستوى المشروع
- لوحة بيانات Authentication الاستخدام (خاصةً لمثيلات مصادقة الهاتف)
- Cloud Firestore لوحة بيانات الاستخدام
- Cloud Functions لوحة بيانات الاستخدام
- Cloud Storage لوحة بيانات الاستخدام
- Hosting لوحة بيانات الاستخدام
- Realtime Database لوحة بيانات الاستخدام
ماذا حدث لخطة أسعار 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 الأخرى.
ما هو الفرق بين الاستخدام بدون تكلفة في خطة Blaze والاستخدام بدون تكلفة في خطة Spark؟
يتم احتساب الاستخدام بدون تكلفة في خطة Blaze يوميًا. تختلف حدود الاستخدام أيضًا عن خطة Spark في ما يتعلق بCloud Functions، والمصادقة باستخدام الهاتف، وTest Lab.
بالنسبة إلى Cloud Functions، يتم احتساب الاستخدام بدون تكلفة لخطة Blaze على مستوى حساب Cloud Billing، وليس على مستوى المشروع، وفقًا للحدود التالية:
- مليونا استدعاء شهريًا
- 400 ألف غيغابايت في الثانية في الشهر
- 200,000 وحدة معالجة مركزية في الثانية/شهر
- 5 غيغابايت من معدل نقل البيانات إلى الشبكة في الشهر
بالنسبة إلى مصادقة الهاتف، يتم احتساب الاستخدام بدون تكلفة لخطة Blaze شهريًا.
بالنسبة إلى Test Lab، يخضع الاستخدام بدون تكلفة في خطة Blaze للحدود التالية:
- 30 دقيقة في اليوم على الجهاز
- 60 دقيقة للجهاز الافتراضي في اليوم
هل تتم إعادة ضبط حصة الاستخدام بدون تكلفة عند التبديل من خطة Spark إلى خطة Blaze؟
تشمل خطة Blaze الاستخدام بدون تكلفة من خطة Spark. لا تتم إعادة ضبط مساحة التخزين المتوفّرة بدون تكلفة عند الانتقال إلى خطة Blaze.
ما هو "الاتصال المتزامن بقاعدة البيانات"؟
ويعادل الاتصال المتزامن جهاز جوّال أو علامة تبويب في المتصفح أو تطبيق خادم متصل بقاعدة البيانات. تفرض منصة Firebase حدودًا صارمة على عدد عمليات الاتصال المتزامنة بقاعدة بيانات تطبيقك. تم وضع هذه الحدود بهدف حماية كلّ من Firebase والمستخدمين من إساءة الاستخدام.
الحد الأقصى المسموح به لخطة Spark هو 100 ولا يمكن رفعه. تبلغ سعة خطتَي Flame و Blaze 200,000 اتصال متزامن لكل قاعدة بيانات.
لا يتساوى هذا الحدّ الأقصى مع إجمالي عدد مستخدمي تطبيقك، لأنّ المستخدمين لا يتصلون جميعًا في الوقت نفسه. إذا كنت بحاجة إلى أكثر من 200,000 عملية اتصال متزامنة، يُرجى الاطّلاع على مقالة توسيع نطاق الوصول باستخدام قواعد بيانات متعددة.
ماذا يحدث في حال تجاوز مساحة التخزين في خطة Spark أو حدود التنزيل في Realtime Database؟
لتقديم سعر متوقّع لك، يتم وضع حدّ أقصى للموارد المتاحة لك في خطط Spark. ويعني ذلك أنّه عند تجاوز أي حدّ من حدود الخطة في أي شهر، سيتم إيقاف تطبيقك لمنع أي استخدام إضافي للموارد ورسوم إضافية أخرى.
ماذا يحدث إذا تجاوزتُ حدود الاتصال المتزامن في Realtime Database في خطة Spark؟
عندما يصل تطبيقك إلى الحد الأقصى للعمليات المتزامنة في خطة Spark، سيتم رفض أي عمليات ربط لاحقة إلى أن يتم إغلاق بعض عمليات الربط الحالية. سيستمر عمل التطبيق للمستخدمين الذين تم ربط حساباتهم.
كيف يتم دمج Firebase مع Google Cloud؟
تم دمج Firebase بشكلٍ كامل مع Google Cloud. تتم مشاركة المشاريع بين Firebase وGoogle Cloud، لذا يمكن تفعيل خدمات Firebase وخدمات Google Cloud للمشاريع. يمكنك الوصول إلى المشروع نفسه من وحدة تحكّم Firebase أو وحدة تحكّم Google Cloud. وعلى وجه التحديد:
- يتم دعم بعض منتجات Firebase مباشرةً من Google Cloud، مثل 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 الإلكتروني للاطّلاع على مزيد من التفاصيل.
ماذا يحدث لمشروعي على Firebase إذا أضفتُ حسابات فوترة أو أزلتُها لهذا المشروع في وحدة تحكّم Google Cloud؟
في حال إضافة حساب Cloud Billing إلى مشروع في وحدة تحكّم Google Cloud، ستتم ترقية المشروع نفسه تلقائيًا إلى خطة Firebase Blaze إذا كان هذا المشروع مُدرَجًا حاليًا في خطة Spark.
في المقابل، في حال إزالة حساب Cloud Billing حالي ونشط من مشروع في وحدة تحكّم Google Cloud، سيتم الرجوع بهذا المشروع إلى خطة Firebase Spark.
هل يمكنني الترقية أو الرجوع إلى إصدار سابق أو إلغاء الاشتراك في أي وقت؟
نعم، يمكنك الترقية أو الرجوع إلى إصدار سابق أو إلغاء الاشتراك في أي وقت. يُرجى العلم أنّه لا نردّ جزءًا من الأموال المدفوعة بشكلٍ تناسبي في حال إلغاء الاشتراك أو الترقية إلى خطة أقلّ تكلفة. وهذا يعني أنّه في حال خفض مستوى الاشتراك أو إلغائه قبل نهاية فترة الفوترة، سيظل عليك الدفع مقابل الفترة المتبقية من الشهر.
ما هو نوع الدعم الذي سأحصل عليه؟
يتوفّر في جميع تطبيقات Firebase، بما في ذلك التطبيقات التي تستخدم خططًا بدون تكلفة، الدعم عبر البريد الإلكتروني من موظفي Firebase خلال ساعات العمل في الولايات المتحدة الأمريكية. تحصل جميع الحسابات على دعم غير محدود للمشاكل المتعلّقة بالفوترة، والمشاكل المتعلّقة بالحساب، والأسئلة الفنية (تحديد المشاكل وحلّها)، وتقارير الحوادث.
هل يمكنني الحد من استخدام خطة Blaze؟
لا، لا يمكنك حاليًا تحديد حد أقصى لاستخدام خطة Blaze. ونحن نقيّم خيارات لإتاحة حدود قصوى لاستخدام خطة Blaze.
يمكن لمستخدمي Blaze تحديد ميزانية لمشروعهم أو حسابهم، وملء نموذج تلقّي تنبيهات عندما يقترب إنفاقهم من هذه الحدود. تعرَّف على كيفية إعداد تنبيهات الميزانية.
ما هي النسخ الاحتياطية التلقائية؟ هل تقدّم نُسخًا احتياطية كل ساعة؟
النُسخ الاحتياطية المبرمَجة هي ميزة متقدمة تتوفّر للعملاء المشتركين في خطة الأسعار Blaze، وهي تُنشئ نسخة احتياطية من بيانات Firebase Realtime Database مرة واحدة في اليوم وتُحمِّلها إلى Google Cloud Storage.
لا نقدّم نُسخًا احتياطية كل ساعة.
هل تقدّم خصومات للمؤسسات غير الربحية أو المؤسسات التعليمية أو المؤسسات التي تستخدم البرامج مفتوحة المصدر؟
يمكن لأي نوع من الأفراد أو المؤسسات استخدام خطة Spark، بما في ذلك المؤسسات غير الربحية والمدارس ومشاريع المحتوى المفتوح المصدر. بما أنّ هذه الخطط تتضمّن حصصًا كبيرة، لا نقدّم أي خصومات أو خطط خاصة للمشاريع التعليمية أو غير الربحية أو المشاريع التي تستخدم مصدرًا مفتوحًا.
هل تقدّم عقودًا للمؤسسات أو أسعارًا أو دعمًا أو استضافة بنية أساسية مخصّصة؟
إنّ خطة Blaze مناسبة للمؤسسات بجميع أحجامها، واتفاقية مستوى الخدمة الخاصة بنا تلبي معايير الصناعة في ما يتعلّق بالبنية الأساسية للسحابة الإلكترونية أو تتجاوزها. ومع ذلك، لا نقدّم حاليًا عقودًا أو أسعارًا أو دعمًا للمؤسسات، ولا نقدّم أيضًا استضافة بنية أساسية مخصّصة (أي عمليات التثبيت على الموقع) لخدمات مثل Realtime Database. نحن نعمل جاهدين على إضافة بعض هذه الميزات.
هل تقدّم أسعارًا مخصّصة؟ أريد الدفع مقابل استخدام ميزة واحدة أو سمتين فقط.
نقدّم أسعارًا مخصّصة في خطة Blaze، حيث تدفع فقط مقابل الميزات التي تستخدمها.
كيف تعمل خطط Firebase المدفوعة مع Ads؟ هل هناك أرصدة إعلانية بدون تكلفة مع الخطط المدفوعة؟
إنّ خطط أسعار Firebase منفصلة عن Ads، لذلك ما مِن أرصدة إعلانية بدون تكلفة. بصفتك مطوّرًا على Firebase، يمكنك "ربط" حسابك على Ads بمنصّة Firebase لأجل تفعيل ميزة تتبُّع الإحالات الناجحة.
تتم إدارة جميع الحملات الإعلانية مباشرةً في Ads، ويُدار حساب Ads من وحدة تحكّم Ads.
أسعار 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. راجِع الحصص والقيود.
هل يمكنني الحصول على رصيد بقيمة $300 لـ Google Cloud؟
نعم، يمكنك إنشاء حساب 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 Storage for Firebase
كيف يمكنني توقّع المبلغ الذي سيتم تحصيله منّي مقابل عمليات التحميل والتنزيل؟
انتقِل إلى صفحة "أسعار Firebase" واستخدِم حاسبة خطة Blaze. يسرد هذا الحاسب جميع أنواع الاستخدام لـ Cloud Storage for Firebase.
استخدِم أشرطة التمرير لإدخال الاستخدام المتوقّع لحزمة التخزين. ستقدّر الآلة الحاسبة فاتورتك الشهرية.
ماذا يحدث في حال تجاوز حدود التحميل أو التنزيل أو مساحة التخزين في خطة Spark Cloud Storage for Firebase؟
عند تجاوز الحدود المسموح بها Cloud Storage في مشروع على خطة Spark، تعتمد النتيجة على نوع الحدّ الذي تم تجاوزه:
- إذا تجاوزت الحد الأقصى للبيانات المخزّنة، لن تتمكّن من تخزين المزيد من البيانات في هذا المشروع ما لم تتمكّن من إزالة بعض البيانات المخزّنة أو الترقية إلى خطة توفّر مساحة تخزين أكبر أو مساحة تخزين غير محدودة.
- إذا تجاوزت الحد الأقصى للبيانات التي تم تنزيلها، لن يتمكّن تطبيقك من تنزيل المزيد من البيانات إلى اليوم التالي (بدءًا من منتصف الليل بالتوقيت الرسمي للمحيط الهادئ في الولايات المتحدة)، ما لم تُجري ترقية إلى خطة ذات حدود أقل تقييدًا أو بدون حدود.
- في حال تجاوزت الحد الأقصى لعمليات التحميل أو التنزيل ، لن يتمكّن تطبيقك من تحميل المزيد من البيانات أو تنزيلها إلى اليوم التالي (بدءًا من منتصف الليل بالتوقيت الرسمي للمحيط الهادئ في الولايات المتحدة)، ما لم يتم الترقية إلى خطة ذات حدود أقل تقييدًا أو بدون حدود.
الخصوصية
أين يمكنني العثور على معلومات حول الخصوصية والأمان في 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"" عند إنشاء تجربة في أداة "الضبط عن بُعد"؟
إذا سبق أن ربطت Firebase بخدمة "إحصاءات Google"، ولكن لا تزال تظهر لك رسالة تفيد بأنّه لم يتم ربط "إحصاءات Google"، تأكَّد من توفّر مصدر بيانات في "إحصاءات Google" لجميع التطبيقات في مشروعك. في الوقت الحالي، يجب ربط جميع التطبيقات في المشروع بمصدر بيانات في "إحصاءات Google" لاستخدام اختبار A/B.
يمكنك العثور على قائمة بجميع أحداث البث النشطة في صفحة تفاصيل دمج "إحصاءات 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.5.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 لتحسين ميزات Google وFirebase الأخرى. يمكنك في أي وقت التحكّم في كيفية مشاركة بيانات "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 | بلغاريا |
بي جي | بنين |
BM | برمودا |
بنغلاديش | بروناي (دار السلام) |
بوليفيا | بوليفيا |
BR | البرازيل |
BS | جزر البهاما |
بلوتوث | بوتان |
BW | بتسوانا |
بواسطة | بيلاروس |
BZ | بليز |
كندا | كندا |
قرص CD | الكونغو (كينشاسا) |
CF | جمهورية أفريقيا الوسطى |
CG | الكونغو (برازافيل) |
سويسرا | سويسرا |
CI | كوت ديفوار |
CK | جزر كوك |
CL | تشيلي |
مدير الحملة | الكاميرون |
كولورادو | كولومبيا |
رد جاهز | كوستاريكا |
سيرة ذاتية | كيب فيرد |
CW | كوراساو |
CY | قبرص |
التشيك | جمهورية التشيك |
ديلاوير | ألمانيا |
منسّق الموسيقى | جيبوتي |
الدانمرك | الدانمرك |
DM | دومينيكا |
ما يجب فعله | جمهورية الدومينيكان |
الجزائر | الجزائر |
EC | الإكوادور |
مصر | مصر |
إسبانيا | إسبانيا |
ET | إثيوبيا |
فنلندا | فنلندا |
FJ | فيجي |
FK | جزر فوكلاند (مالفيناس) |
FM | ولايات ميكرونيسيا المتحدة |
جُزر فارو | جزر فارو |
فرنسا | فرنسا |
GA | الغابون |
غيغابايت | المملكة المتحدة |
GD | غرينادا |
GE | جورجيا |
GF | غويانا الفرنسية |
GG | غيرنزي |
GH | غانا |
المؤشر الجلايسيمي (GI) | جبل طارق |
GL | غرينلاند |
مدير عام | غامبيا |
GP | غوادلوب |
GQ | غينيا الاستوائية |
GR | اليونان |
GT | غواتيمالا |
هاواي | غيانا |
هونغ كونغ | هونغ كونغ الصينية (منطقة إدارية خاصة) |
HN | هندوراس |
HR | كرواتيا |
الشوط الأول | هايتي |
الوحدة الرئيسية (HU) | هنغاريا |
رقم التعريف | إندونيسيا |
أيرلندا | أيرلندا |
إلينوي | إسرائيل |
IM | آيل أوف مان |
IN | الهند |
IQ | العراق |
تكنولوجيا المعلومات | إيطاليا |
JE | جيرسي |
شريف | جامايكا |
JO | الأردن |
اليابان | اليابان |
كينيا | كينيا |
كينيا | قرغيزستان |
KH | كمبوديا |
كم | جزر القمر |
KN | سانت كيتس ونيفس |
كوريا الجنوبية | كوريا الجنوبية |
الكويت | الكويت |
كينيا | جزر كايمان |
KZ | كازاخستان |
لوس أنجلوس | جمهورية لاو الديمقراطية الشعبية |
نقاط بسبب اصطدام الكرة بجسم ضارب الكرة | لبنان |
LC | سانت لوشيا |
LI | ليشتنشتاين |
LK | سريلانكا |
LS | ليسوتو |
LT | ليتوانيا |
كويت | لكسمبورغ |
LV | لاتفيا |
LY | ليبيا |
المغرب | المغرب |
MD | مولدوفا |
لبنان | الجبل الأسود |
MF | سانت مارتن (الجزء الفرنسي) |
MG | مدغشقر |
MK | جمهورية مقدونيا |
MM | ميانمار |
منغوليا | منغوليا |
الهدف | ماكاو، المنطقة الإدارية الخاصة التابعة للصين |
MS | مونتسيرات |
MT | مالطا |
MU | موريشيوس |
ميغاواط | ملاوي |
MX | المكسيك |
ماليزيا | ماليزيا |
MZ | موزمبيق |
غير متاح | ناميبيا |
كاليفورنيا | كاليدونيا الجديدة |
شمال شرق | النيجر |
NF | جزيرة نورفولك |
NG | نيجيريا |
NI | نيكاراغوا |
هولندا | هولندا |
لا | النرويج |
NP | نيبال |
نيوزيلندا | نيوزيلندا |
OM | عُمان |
PA | بنما |
PE | بيرو |
PG | بابوا غينيا الجديدة |
PH | الفلبين |
PK | باكستان |
بولندا | بولندا |
مساءً | سان بيير وميكلون |
PR | بورتوريكو |
ضربات الجزاء | فلسطين |
PT | البرتغال |
PY | باراغواي |
تأكيد الجودة | قطر |
RE | جزيرة ريونيون |
رومانيا | رومانيا |
RS | صربيا |
روسيا | روسيا الاتحادية |
RW | رواندا |
SA | المملكة العربية السعودية |
كارولاينا الجنوبية | سيشيل |
جنوب شرق | السويد |
SG | سنغافورة |
ركلات الترجيح | سانت هلينا |
SI | سلوفينيا |
SK | سلوفاكيا |
SL | سيراليون |
السنغال | السنغال |
SR | سورينام |
ST | سان تومي وبرينسيبي |
SV | السلفادور |
SZ | سوازيلند |
TC | جزر توركس وكايكوس |
TG | توغو |
تايلاند | تايلاند |
قائد فريق | تيمور الشرقية |
TM | تركمانستان |
إلى | تونغا |
TR | تركيا |
هدف | ترينيداد وتوباغو |
تايوان | تايوان، جمهورية الصين |
TZ | حمهورية تنزانيا المتحدة |
UA | أوكرانيا |
أوغندا | أوغندا |
الولايات المتحدة | United States of America |
أوروغواي | أوروغواي |
UZ | أوزباكستان |
VC | سانت فنسنت وجزر غرينادين |
فنزويلا | فنزويلا (الجمهورية البوليفارية) |
VG | جزر فيرجن البريطانية |
6 | جزر فيرجن الأمريكية |
فيتنام | فيتنام |
WS | ساموا |
YE | اليمن |
YT | مايوت |
جنوب أفريقيا | جنوب أفريقيا |
ZM | زامبيا |
ZW | زيمبابوي |
Firebase Authentication: كيف يمكنني منع إساءة استخدام رسائل SMS عند استخدام المصادقة عبر الهاتف؟
للمساعدة في حماية مشروعك من تدفّق عدد الزيارات عبر الرسائل القصيرة وإساءة استخدام واجهة برمجة التطبيقات، يمكنك اتّباع الخطوات التالية:
ننصحك بضبط سياسة منطقة الرسائل القصيرة.
عرض استخدام الرسائل القصيرة على مستوى منطقة معيّنة
ابحث عن المناطق التي يتم إرسال عدد كبير جدًا من الرسائل القصيرة SMS فيها وعددًا قليلاً جدًا (أو صفرًا) من رسائل 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
في Firebase، وتستخدم هذا المفتاح للتحقّق من أنّ عنوان URL لإعادة التوجيه لتسجيل الدخول صالح وفقًا لقائمة النطاقات المعتمَدة.
تحصل Authentication على مفتاح واجهة برمجة التطبيقات هذا استنادًا إلى كيفية وصولك إلى حزمة SDK الخاصة بتطبيق Authentication:
إذا كنت تستخدِم مساعِدين في المصادقة يوفّرهم Hosting لتسجيل دخول المستخدمين باستخدام حزمة تطوير البرامج (SDK) لبرنامج Authentication JS، ستحصل Firebase تلقائيًا على مفتاح واجهة برمجة التطبيقات مع بقية إعدادات Firebase في كل مرة تتم فيها عملية النشر على Firebase Hosting. تأكَّد من أنّ
authDomain
في تطبيق الويبfirebaseConfig
تم إعداده بشكلٍ سليم لاستخدام أحد النطاقات لموقع Hosting الإلكتروني هذا. يمكنك التحقّق من ذلك من خلال الانتقال إلىhttps://authDomain__/firebase/init.json
والتحقّق من أنّprojectId
يتطابق معfirebaseConfig
في حسابك.إذا كنت مستضيفًا رمز تسجيل الدخول بنفسك، يمكنك استخدام ملف
__/firebase/init.json
لتوفير إعدادات Firebase لمساعدة إعادة التوجيه المستضافة ذاتيًا من حزمة تطوير البرامج (SDK) لبرنامج Authentication JS. يجب أن يتطابق مفتاح واجهة برمجة التطبيقات وprojectId
المُدرَجان في ملف الإعداد هذا مع تطبيق الويبfirebaseConfig
.
تأكَّد من عدم حذف مفتاح واجهة برمجة التطبيقات هذا: انتقِل إلى لوحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud حيث يتم إدراج كل مفاتيح واجهة برمجة التطبيقات لمشروعك.
إذا لم يتم حذف
Browser key
، تحقّق مما يلي:تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مُدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها لمفتاح الوصول (مزيد من المعلومات عن قيود واجهات برمجة التطبيقات لمفاتيح واجهة برمجة التطبيقات).
إذا كنت تستضيف رمز تسجيل الدخول ذاتيًا، تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات المُدرَج في ملف
__/firebase/init.json
يتطابق مع مفتاح واجهة برمجة التطبيقات في Cloud Console. صحِّح المفتاح في الملف، إذا لزم الأمر، ثم أعِد نشر تطبيقك.إذا تم حذف
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 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 للخادم. وتُعدّ خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" الخيار الأنسب لعمليات النشر التي تتضمّن متطلبات مراسلة أكثر تعقيدًا.
في ما يلي مقارنة بين إمكانات المراسلة التي يوفّرها 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 |
واجهات برمجة تطبيقات خادم أرقام تعريف النُسخ | https://iid.googleapis.com/v1/web/iid | سيبدأ تعذُّر إرسال الطلبات إلى نقطة النهاية بعد 21 حزيران (يونيو) 2024. | استخدِم Web JS SDK لإنشاء تسجيلات الويب لخدمة FCM. |
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/6/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 إذا لم يسبق لك إجراء ذلك. |
الإصدار <7.0.0 من حِزم تطوير البرامج (SDK) المستندة إلى JavaScript (حدث تغيير غير مسبوق في الإصدار 7.0.0 في عام 2019) | لن تتمكّن تطبيقات الويب التي تستخدم حِزم تطوير البرامج (SDK) القديمة لـ JavaScript من تسجيل الرموز المميّزة بعد 21 حزيران (يونيو) 2024. | عليك ترقية حزمة تطوير البرامج (SDK) للويب لمنصة Firebase إلى أحدث إصدار. |
هل سيتم الرجوع إلى إصدار سابق من الخدمة قبل يونيو 2024؟
لا، أمامك 12 شهرًا (بين 20/06/2023 و21/06/2024) لنقل البيانات من واجهات برمجة التطبيقات القديمة إلى واجهات برمجة التطبيقات الجديدة بدون الحاجة إلى الرجوع إلى إصدار سابق من الخدمة. ننصحك بشدة ب التخطيط لعملية نقل البيانات في أقرب وقت ممكن لكي لا تتأثّر ب إيقاف واجهات برمجة التطبيقات نهائيًا في حزيران (يونيو) 2024.
بعد حزيران (يونيو) 2024، قد تلاحظ زيادة في الأخطاء أو عدم توفّر الوظائف عند استخدام واجهات برمجة التطبيقات/حِزم SDK المُدرَجة أعلاه (اطّلِع على الأسئلة الشائعة التالية للحصول على مزيد من المعلومات).
كيف سيتم إيقاف واجهات برمجة التطبيقات التي تمّ إيقاف استخدامها نهائيًا ومتى سيتم ذلك؟
ستبدأ خدمة FCM الإيقاف التدريجي لواجهات برمجة التطبيقات المتوقّفة نهائيًا قرابة 22 يوليو 2024. وبعد هذا التاريخ، ستخضع الخدمات المتوقّفة نهائيًا لعملية "توقّف مؤقت"، حيث ستؤدي أعداد متزايدة من طلبات إلى عرض ردود خطأ. خلال فترة الإيقاف التدريجي، من المتوقّع أن يزداد تكرار السلوك التالي وردود الأخطاء بمرور الوقت:
الفئة | ما يمكن توقّعه |
---|---|
بروتوكول HTTP القديم | يتم رفض الطلبات باستخدام رمز HTTP 301. |
بروتوكول XMPP القديم | يتم رفض الطلبات باستخدام رمز الخطأ 302. |
FCM Upstream | يتم إسقاط الرسائل بصمت من خلال الخلفية في "المراسلة من خلال السحابة الإلكترونية من Firebase". |
واجهة برمجة تطبيقات "الإرسال المجمَّع" | يتم رفض الطلبات مع ظهور رمز الخطأ 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:
Authorization: Bearer $oauth_token
- واجهة برمجة تطبيقات خادم معرّف المثيل وواجهة برمجة تطبيقات إدارة مجموعة الأجهزة:
Authorization: Bearer $oauth_token
access_token_auth: true
هل يمكنني نقل طلباتي إلى واجهة برمجة التطبيقات الجديدة دُفعة واحدة؟
ننصحك بزيادة عدد الزيارات إلى واجهة برمجة التطبيقات الجديدة تدريجيًا. إذا كنت تتوقع إرسال أكثر من 600,000 رسالة في الدقيقة بشكل منتظم، تواصَل مع فريق دعم Firebase للحصول على تعليمات حول كيفية زيادة الحصة أو الحصول على اقتراحات حول كيفية توزيع الزيارات.
ما الفرق بين واجهة برمجة التطبيقات HTTP v1 وواجهات برمجة التطبيقات القديمة عند إرسال الرسائل إلى المواضيع أو مجموعات الأجهزة؟
المواضيع: لا تحتاج إلى إضافة البادئة "/topics/" إلى استهداف المواضيع عند استخدام واجهة برمجة التطبيقات من الإصدار 1.
مجموعات الأجهزة: يمكنك استخدام رمز مميّز للمجموعة كهدف رمز مميّز في واجهة برمجة تطبيقات HTTP v1. ومع ذلك، لا تعرض واجهة برمجة التطبيقات HTTP v1 أعداد عمليات النجاح أو الفشل في الاستجابة. ننصحك باستخدام مواضيع "نظام إرسال الرسائل من Google (FCM)" أو إدارة مجموعات الأجهزة بنفسك.
هل تتيح واجهة برمجة التطبيقات HTTP v1 إرسال الرسائل إلى رموز متعدّدة في طلب واحد؟
لا، هذه الميزة المسماة "البث المتعدد" في واجهات برمجة تطبيقات HTTP القديمة غير متوافقة مع واجهة برمجة التطبيقات HTTP v1 API التي تم تصميمها بشكل أفضل لقابلية التوسع.
بالنسبة إلى حالات الاستخدام التي يكون فيها وقت الاستجابة من البداية إلى النهاية مهمًا، أو التي يكون فيها إجمالي حجم البيانات الموزّعة صغيرًا (أقل من مليون)، تنصح Google بإرسال عدة طلبات منفصلة باستخدام HTTP v1 API. تعمل واجهة برمجة التطبيقات HTTP v1 API على HTTP/2 بالمثل في 99.9% من طلبات البث المتعدد (أي إرسال أقل من 100 رمز مميز). بالنسبة إلى حالات الاستخدام الشاذة (إرسال 1000 رمز مميّز)، يحقّق هذا الإجراء ما يصل إلى ثلث معدّل الإنتاجية، لذلك، هناك حاجة إلى معالجة متزامنة إضافية لتحسين حالة الاستخدام غير المعتادة هذه. يمكن للمستخدمين الحصول على مزيد من الموثوقية ومدى التوفّر باستخدام واجهة برمجة التطبيقات HTTP v1 API مقارنةً بالبث المتعدد القديم.
بالنسبة إلى حالات الاستخدام التي يتم فيها منح الأولوية لمعدّل نقل البيانات ومعدل نقل البيانات الخارج أو عندما يكون حجم التوسيع الإجمالي كبيرًا (أكثر من مليون)، تنصح Google باستخدام رسائل المواضيع. على الرغم من أنّ المراسلة في المواضيع تتطلّب إجراءً لمرة واحدة من أجل اشتراك المستلمين في موضوع معيّن، إلا أنّها توفّر ما يصل إلى 10,000 طلب في الثانية لكل معدّل توسيع نطاق المشروع بدون حدّ أقصى لحجم الموضوع.
ما هي إصدارات حزمة "مدير SDK في Firebase" التي تتضمّن واجهات برمجة التطبيقات الجديدة؟
النظام الأساسي | إصدار حزمة تطوير البرامج (SDK) لمشرف Firebase |
---|---|
Node.js | الإصدار 11.7.0 أو الإصدارات الأحدث |
Python | الإصدار 6.2.0 أو الإصدارات الأحدث |
جافا | >=9.2.0 |
انتقال | الإصدار 4.12.0 أو الإصدارات الأحدث |
.NET | الإصدار 2.4.0 أو الإصدارات الأحدث |
ما هو الفرق بين واجهة برمجة تطبيقات "الإرسال المجمّع" وواجهة برمجة التطبيقات HTTP v1؟
تستخدم واجهة برمجة التطبيقات الخاصة بالإرسال المجمّع في خدمة FCM تنسيق الرسالة وآلية المصادقة نفسَيهما المستخدمتَين في واجهة برمجة التطبيقات HTTP v1. ومع ذلك، يستخدم نقطة نهاية مختلفة. إذا كنت تريد تحسين الكفاءة، ننصحك باستخدام بروتوكول 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". على أي حال، يمكنك توقّع الحصول على إجابة خلال بضعة أيام عمل. في بعض الحالات، قد يكون هناك بعض التراجعات بشأن استخدامك لـ FCM وظروف مختلفة، ما قد يؤدي إلى إطالة العملية. في حال استيفاء جميع المتطلبات، ستتمّ معالجة معظم الطلبات في غضون أسبوعَين.
كيف يمكنني تتبُّع معدّل استخدام حصتي؟
اطّلِع على إرشادات 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 من تطبيقاتك. ل إزالة حساب الخدمة من مشروعك، اتّبِع التعليمات الواردة في مقالة إيقاف حساب خدمة.
Crashlytics
انتقِل إلى صفحة تحديد المشاكل وحلّها في "Crashlytics" والأسئلة الشائعة للحصول على نصائح وإجابات مفيدة لمزيد من الأسئلة الشائعة.
Dynamic Links
Dynamic Links: ما هي الخطط المستقبلية لمنصّة Firebase في ما يتعلّق بـ Dynamic Links؟
يمكنك الاطّلاع على الأسئلة الشائعة حول "Dynamic Links".
Dynamic Links: لماذا يمكن لتطبيق Android الوصول إلى كل رابط ديناميكي مرتين؟
تُزيل واجهة برمجة التطبيقات getInvitation
الرابط الديناميكي المحفوظ
لمنع الوصول إليه مرّتين. احرص على استدعاء واجهة برمجة التطبيقات هذه
مع ضبط المَعلمة autoLaunchDeepLink
على
false
في كلّ من أنشطة الروابط لصفحات في التطبيق لمحو بياناته
في حال بدء النشاط خارج النشاط
الرئيسي.
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 }, ... } }
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: لماذا كان معدل نقل بيانات جهاز Realtime Database الخاص بي أقل من المتوسط بين أيلول (سبتمبر) 2016 وآذار (مارس) 2017؟
في عمليات احتساب معدل نقل البيانات، نضيف عادةً تكلفة التشفير باستخدام بروتوكول SSL (استنادًا إلى الطبقة 5 من نموذج OSI). ومع ذلك، في أيلول (سبتمبر) 2016، واجهنا خطأً أدى إلى تجاهل تقارير سعة النطاق لوقت التشفير. وقد أدّى ذلك إلى تسجيل سرعات نقل بيانات وفواتير منخفضة بشكل مصطنع في حسابك لعدة أشهر.
لقد طرحنا حلًا لهذا الخطأ في أواخر آذار (مارس) 2017، ما أدى إلى إعادة عرض تقارير وفواتير النطاق الترددي بالمستويات العادية.
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 إذا لم تكن تتطلّب اتصالاً في الوقت الفعلي.
Remote Config
Remote Config: لماذا لا تؤدي القيم التي تم جلبها إلى تغيير سلوك تطبيقي ومظهره؟
ما لم يتم استرجاع القيم باستخدام
fetchAndActivate()
،
يتم تخزين القيم على الجهاز ولكن لا يتم تفعيلها. لتفعيل القيم التي تم استرجاعها
لكي يتم تطبيقها، يمكنك طلب activate
. يتيح لك هذا التصميم
التحكّم في وقت تغيير سلوك تطبيقك ومظهره، لأنّه
يمكنك اختيار وقت استدعاء activate
. بعد طلب
activate
، يحدِّد رمز مصدر التطبيق وقت استخدام قيم
المَعلمات المعدّلة.
على سبيل المثال، يمكنك استرجاع القيم ثم تفعيلها في المرة التالية التي يبدأ فيها المستخدم تشغيل تطبيقك، ما يلغي الحاجة إلى تأخير بدء تشغيل التطبيق أثناء انتظاره للقيم التي يتم جلبها من الخدمة. بعد ذلك، تحدث تغييرات في سلوك تطبيقك ومظهره عندما يستخدم تطبيقك قيم المَعلمات المعدَّلة.
للاطّلاع على مزيد من المعلومات عن Remote Config API ونموذج الاستخدام، اطّلِع على نظرة عامة على Remote Config API.
Remote Config: أُجري العديد من طلبات الجلب أثناء تطوير تطبيقي. لماذا لا يحصل تطبيقي دائمًا على أحدث القيم من الخدمة عندما يرسل طلبات جلب؟
أثناء تطوير التطبيق، قد تحتاج إلى جلب عمليات الضبط وتفعيلها بشكلٍ
متكرّر جدًا (عدة مرات في الساعة) للسماح لك بإجراء عمليات تكرار سريعة أثناء تطوير
تطبيقك واختباره. لاستيعاب عمليات التكرار السريعة في مشروع يتضمّن ما يصل إلى 10
مطوّرين، يمكنك ضبط عنصر
FirebaseRemoteConfigSettings
مؤقتًا بحد أدنى من الفاصل الزمني لعمليات الfetch (setMinimumFetchIntervalInSeconds
) في تطبيقك.
Remote Config: ما مدى سرعة عرض خدمة Remote Config للقيم التي تم جلبها بعد أن يرسل تطبيقي طلب جلب؟
تتلقّى الأجهزة عادةً القيم التي تم جلبها في أقل من ثانية، وغالبًا ما يتم تلقّي القيم التي تم جلبها بالملي ثانية. تعالج خدمة Remote Config طلبات الجلب في غضون مللي ثانية، ولكن الوقت اللازم لإكمال طلب الجلب سيعتمد على سرعة الشبكة للجهاز ومُدد استجابة الاتصال بالشبكة التي يستخدمها الجهاز.
إذا كان هدفك هو تفعيل القيم التي تم جلبها في تطبيقك
في أقرب وقت ممكن، ولكن بدون إحداث تجربة صادمة للمستخدم،
ننصحك بإضافة طلبات إلى fetchAndActivate
في كل مرة
يُجري فيها تطبيقك عملية إعادة تحميل للشاشة بالكامل.
Test Lab
يُرجى الانتقال إلى Test Lab صفحة تحديد المشاكل وحلّها للحصول على نصائح مفيدة وإجابات عن الأسئلة الشائعة.
مساحة تخزين تصنيف المستخدِمين في Firebase
ما هو "تخزين تصنيف المستخدِمين" في Firebase؟
وتخزِّن مساحة تخزين تصنيف المستخدمين في Firebase معرّفات التثبيت Firebase والسمات والشرائح ذات الصلة، بالإضافة إلى قوائم المستخدمين التي أنشأتها لتوفير معلومات الاستهداف لخدمات Firebase الأخرى التي تستخدم هذه الخدمات، مثل تخصيص Crashlytics وFCM وRemote Config والمزيد.