تتضمّن الصفحة مجموعة من الأسئلة الشائعة والمساعدة في تحديد المشاكل وحلّها في 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 ضمن صفحة التصنيفات لمشروعك في وحدة تحكّم Google Cloud. يمكنك الاطّلاع على مزيد من المعلومات حول هذه التصنيفات في الأسئلة الشائعة.
ما هي مؤسسة Google Cloud؟
Google Cloud المؤسسة هي حاوية تضم Google Cloud مشاريع (بما في ذلك مشاريع Firebase). يتيح هذا التسلسل الهرمي تنظيمًا أفضل وإدارة وصول أفضل وتدقيقًا أفضل لمشاريعك على Google Cloud وFirebase. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إنشاء المؤسسات وإدارتها.
كيف يمكنني إضافة Firebase إلى مشروع Google Cloud حالي؟
قد تكون لديك مشاريع Google Cloud حالية تتم إدارتها من خلال وحدة تحكّم Google Cloud أو Google APIs Console.
يمكنك إضافة Firebase إلى مشاريع Google Cloud الحالية هذه باستخدام أي من الخيارات التالية:
- استخدام وحدة تحكّم Firebase
- استخدام خيار آلي:
-
استدعاء نقطة النهاية لواجهة برمجة تطبيقات REST الخاصة بخدمة Firebase Management
projects.addFirebase -
نفِّذ أمر واجهة سطر الأوامر Firebase
firebase projects:addfirebase. - استخدِم Terraform.
-
استدعاء نقطة النهاية لواجهة برمجة تطبيقات REST الخاصة بخدمة Firebase Management
يمكنك الاطّلاع على مزيد من التفاصيل حول إضافة Firebase إلى مشروع Google Cloud.
كيف يعمل دمج 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 الإلكتروني لمزيد من التفاصيل.
لماذا يحمل مشروعي Google Cloud التصنيف firebase:enabled؟
في صفحة التصنيفات الخاصة بمشروعك في وحدة تحكّم Google Cloud، قد يظهر لك تصنيف firebase:enabled (تحديدًا، Key من firebase مع Value من enabled).
أضافت Firebase هذه التصنيف تلقائيًا لأنّ مشروعك هو مشروع Firebase، ما يعني أنّ مشروعك يتضمّن إعدادات وخدمات خاصة بـ Firebase تم تفعيلها. مزيد من المعلومات حول العلاقة بين مشاريع Firebase وGoogle Cloud
ننصحك بشدة بعدم تعديل هذه التصنيفات أو حذفها. تستخدم Firebase وGoogle Cloud هذه التصنيفات لعرض مشاريعك على Firebase (على سبيل المثال، باستخدام نقطة نهاية REST API projects.list أو في القوائم ضمن وحدة تحكّم Firebase).
يُرجى العِلم أنّ إضافة هذه التصنيف يدويًا إلى قائمة تصنيفات المشاريع لا يتيح إعدادات وخدمات Firebase المحدّدة لمشروعك Google Cloud. لإجراء ذلك، عليك إضافة Firebase باستخدام وحدة تحكّم Firebase (أو، لحالات الاستخدام المتقدّمة، باستخدام Firebase Management REST API أو Firebase CLI).
لماذا يتعذّر على وحدة تحكّم Firebase تحميل قائمة بمشاريع Google Cloud الحالية؟
تنطبق الأسئلة الشائعة هذه في أغلب الأحيان إذا كنت تحاول "إضافة Firebase" إلى Google Cloud مشروع حالي باستخدام Firebase وحدة التحكّم وكان بإمكانك الوصول إلى آلاف Google Cloud المشاريع.
لم يتم تصميم Firebaseوحدة التحكّم لتحميل آلاف المشاريع من Google Cloud، بل ننصح باستخدام Firebaseواجهة سطر الأوامر أو واجهة REST API أو Terraform من أجل "إضافة Firebase" إلى مشروع Google Cloud الحالي.
يمكنك أيضًا مراجعة الأسئلة الشائعة "لماذا لا يظهر مشروع Firebase في قائمة مشاريع Firebase؟"
لماذا لا يظهر مشروع Firebase في قائمة مشاريع Firebase؟
ينطبق هذا السؤال الشائع إذا لم يظهر مشروعك على Firebase في أيّ من المواقع التالية:
- في قائمة المشاريع التي تعرضها ضمن وحدة تحكّم Firebase
-
في الردّ الوارد من استدعاء نقطة النهاية REST API
projects.list -
في الردّ الناتج عن تنفيذ أمر واجهة سطر الأوامر Firebase
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، مثل دور Firebase المحدّد مسبقًا. يمكنك الاطّلاع على أدوارك في صفحة إدارة الهوية وإمكانية الوصول في وحدة تحكّم Google Cloud.
- إذا كان مشروعك تابعًا لمؤسسة Google Cloud، قد تحتاج إلى أذونات إضافية لرؤية المشروع مُدرَجًا في وحدة تحكّم Firebase. تواصَل مع الشخص المسؤول عن إدارة مؤسستك لمنحك الدور المناسب للاطّلاع على المشروع، مثل دور "المتصفّح".Google Cloud
إذا لم تساعدك أي من خطوات تحديد المشاكل وحلّها أعلاه في الاطّلاع على مشروعك في قائمة مشاريع Firebase، يُرجى التواصل مع فريق دعم Firebase.
كم عدد المشاريع التي يمكنني امتلاكها لكل حساب Google (عنوان بريد إلكتروني)؟
- خطة Spark الأساسية: يقتصر الحدّ الأقصى المسموح به لعدد المشاريع التي يمكنك إنشاؤها على عدد صغير من المشاريع (عادةً ما يتراوح بين 5 و10 مشاريع).
- خطة أسعار "الفئة المَرِنة": لا يزال عدد المشاريع التي يمكنك إنشاؤها محدودًا، ولكن قد يزداد عند ربط حساب Cloud Billing بحالة جيدة.
يُرجى ملاحظة ما يلي بشأن الحدّ الأقصى المسموح به لعدد المشاريع التي يمكنك إنشاؤها:
- هذا الحدّ ليس خاصًا بمنصة Firebase. إنّ حدود حصة المشاريع في Firebase هي نفسها حدود Google Cloud.
- في الحالات النادرة التي تحتاج فيها إلى ذلك، يمكنك طلب زيادة حصة المشروع.
- يتطلّب الحذف الكامل للمشروع 30 يومًا، ويتم احتسابه ضمن حصة المشروع إلى أن يتم حذفه بالكامل.
تعرَّف على أفضل الممارسات العامة التي تنصح بها Firebase لإعداد مشاريع Firebase.
كم عدد تطبيقات Firebase التي يمكنني إضافتها إلى مشروع Firebase؟
مشروع Firebase هو حاوية لتطبيقات Firebase على Apple وAndroid والويب. يفرض Firebase حدًا أقصى يبلغ 30 تطبيقًا على إجمالي عدد تطبيقات Firebase ضمن مشروع Firebase.
بعد هذا العدد، يبدأ الأداء في التدهور (خاصةً بالنسبة إلى Google Analytics)، وفي النهاية، وعند عدد أكبر من التطبيقات، تتوقف بعض وظائف المنتج عن العمل. بالإضافة إلى ذلك، إذا كنت تستخدم ميزة "تسجيل الدخول باستخدام حساب Google" كموفّر مصادقة، يتم إنشاء معرّف عميل OAuth 2.0 أساسي لكل تطبيق في مشروعك. هناك حدّ يبلغ حوالي 30 معرّف عميل يمكن إنشاؤه ضمن مشروع واحد.
يجب التأكّد من أنّ جميع تطبيقات Firebase ضِمن مشروع Firebase واحد هي إصدارات مختلفة من التطبيق نفسه من منظور المستخدم النهائي. على سبيل المثال، إذا كنت تطوّر تطبيقًا يحمل علامة تجارية خاصة، يجب أن يكون لكل تطبيق يحمل علامة تجارية خاصة مشروع Firebase خاص به، ولكن يمكن أن يتضمّن المشروع نفسه إصدارَي Apple وAndroid من هذه العلامة التجارية. يمكنك الاطّلاع على إرشادات أكثر تفصيلاً في أفضل الممارسات العامة لإعداد مشاريع Firebase.
في حالات نادرة، إذا كان مشروعك يتطلّب أكثر من 30 تطبيقًا، يمكنك طلب زيادة الحد الأقصى لعدد التطبيقات. يجب أن يكون مشروعك ضمن خطة Blaze المَرِنة لتقديم هذا الطلب. انتقِل إلى Google Cloud console لتقديم طلبك وإجراء تقييم له. يمكنك الاطّلاع على مزيد من المعلومات حول إدارة الحصص في مستندات Google Cloud.
ماذا يحدث إذا صنّفتُ مشروعي على أنّه بيئة "إنتاج"؟
في وحدة تحكّم Firebase، يمكنك تصنيف مشاريعك على Firebase حسب نوع البيئة، سواء كانت بيئة إنتاج أو بيئة غير محدّدة (غير إنتاجية).
لا يؤثّر تصنيف مشروعك كنوع بيئة في طريقة عمل مشروعك على Firebase أو ميزاته. ومع ذلك، يمكن أن يساعدك وضع العلامات أنت وفريقك في إدارة مشاريع Firebase المختلفة لدورة حياة التطبيق.
إذا صنّفت مشروعك على أنّه بيئة التشغيل الفعلي، سنضيف علامة إصدار علني بلون ساطع إلى المشروع في وحدة تحكّم Firebase، لتذكيرك بأنّ أي تغييرات قد تؤثّر في تطبيقات التشغيل الفعلي المرتبطة. وقد نضيف في المستقبل المزيد من الميزات وإجراءات الحماية لمشاريع Firebase المصنّفة على أنّها بيئات التشغيل الفعلي.
لتغيير نوع بيئة مشروعك على Firebase، انتقِل إلى
أين يمكنني العثور على معرّف تطبيق Firebase؟
في وحدة تحكّم Firebase، انتقِل إلى
في ما يلي بعض الأمثلة على قيم معرّف التطبيق:
-
تطبيقات iOS على Firebase:
1:1234567890:ios:321abc456def7890 -
تطبيقات Firebase على Android:
1:1234567890:android:321abc456def7890 -
تطبيقات الويب على Firebase:
1:1234567890:web:321abc456def7890
ما هي المتطلبات الأساسية لربط Google Play / AdMob / Google Ads / BigQuery بمشروع Firebase أو تطبيق Firebase؟
-
لربط
حسابك على Google Play،
يجب توفُّر ما يلي:
- أيٌّ من الدورَين التاليين في Firebase: المالك أو مشرف Firebase
- يجب أن يكون لديك أحد مستويَي الوصول التاليَين Google Play: صاحب الحساب أو المشرف
- لربط تطبيقك AdMob، يجب أن تكون مالك مشروع Firebase ومشرفًا على AdMob.
- لربط حسابك على AdWords، يجب أن تكون مالك مشروع Firebase ومشرفًا على حساب AdWords.
- لربط مشروعك BigQuery، يجب أن تكون مالك مشروع Firebase.
الأذونات والوصول إلى مشاريع Firebase
كيف يمكنني منح أحد أعضاء المشروع دورًا، مثل دور "المالك"؟
لإدارة الأدوار المخصّصة لكل فرد من أفراد المشروع، يجب أن تكون مالك مشروع Firebase (أو أن يكون لديك دور يتضمّن الإذن resourcemanager.projects.setIamPolicy).
في ما يلي الأماكن التي يمكنك فيها تعيين الأدوار وإدارتها:
-
توفّر وحدة تحكّم Firebase طريقة مبسطة لإسناد الأدوار إلى أعضاء المشروع في علامة التبويب
settings الإعدادات > المستخدمون والأذونات. يمكنك منح أي من الأدوار الأساسية (المالك أو المحرّر أو المشاهد)، أو أدوار مشرف/مشاهد Firebase، أو أي من أدوار فئات المنتجات المحدّدة مسبقًا في Firebase. -
تقدّم وحدة تحكّم Google 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)، قد يحتاج المشرف إلى منح نفسه دور المالك الفعلي لتنفيذ هذه المهام. إذا لم تتمكّن من العثور على مالك لمشروعك على 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:- متاحة للجميع بحكم تصميمها: لا تحدّد مفاتيح واجهة برمجة التطبيقات لخدمات Firebase سوى مشروعك وتطبيقك على Firebase لهذه الخدمات. تتم إدارة الأذونات من خلال أذونات Google Cloud IAM وFirebase Security Rules وFirebase App Check.
- تطبيق القيود: يتم تلقائيًا تطبيق قيود على جميع مفاتيح واجهة برمجة التطبيقات التي يوفّرها Firebase، وذلك على واجهات برمجة التطبيقات ذات الصلة بـ Firebase. من المهم لجميع مفاتيح واجهة برمجة التطبيقات في مشروعك تطبيق قيود مناسبة على واجهة برمجة التطبيقات لمنع الاستخدام غير المصرّح به لحصة مشروعك من واجهات برمجة التطبيقات.
- الاستخدام لخدمات Firebase فقط: استخدِم مفاتيح واجهة برمجة التطبيقات التي توفّرها Firebase فقط لواجهات برمجة التطبيقات ذات الصلة بـ Firebase. إذا كان تطبيقك يستخدم أي واجهات برمجة تطبيقات أخرى (مثل Places API في "خرائط Google" أو Gemini Developer API)، استخدِم مفتاح واجهة برمجة تطبيقات منفصلاً واحصر استخدامه على واجهة برمجة التطبيقات المعنيّة. على وجه الخصوص، لا تُدرِج Gemini Developer API في القائمة المسموح بها لمفتاح واجهة برمجة تطبيقات يمكن للجميع الوصول إليه أو لمفتاح مستخدَم في خدمات أخرى.
- Security Rules وApp Check مهمّان: يتم فرض أمان Realtime Database وCloud Firestore وCloud Storage البيانات باستخدام Firebase Security Rules، ويتم توفير الحماية لواجهات برمجة التطبيقات المشمولة من خلال Firebase App Check، وليس من خلال الحفاظ على سرية مفتاح واجهة برمجة التطبيقات في Firebase.
إذا كان إعداد تطبيقك يتّبع الإرشادات المذكورة أعلاه، فإنّ مفاتيح واجهة برمجة التطبيقات المحصورة بخدمات Firebase لا تحتاج إلى أن تُعامل على أنّها أسرار، ويمكن تضمينها بأمان في الرمز أو ملفات الإعداد.
تلقّيت رسالة إلكترونية من Google Cloud بشأن "مفتاح Google API متاح للجميع لمشروعك Google Cloud". ما هو الإجراء الواجب اتّخاذه؟
إذا تلقّيت رسالة إلكترونية من Google Cloud بشأن "مفتاح Google API متاح للجميع لمشروعك Google Cloud" وكان مفتاح API المُدرَج في الرسالة الإلكترونية هو مفتاح Firebase API، تأكَّد من أنّ مفتاح API يستوفي المتطلبات التالية ليكون من الآمن تضمينه في الرموز أو ملفات الإعداد. يمكنك التحقّق من ما يلي في صفحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud.
-
وهو مفتاح واجهة برمجة التطبيقات الذي تستخدمه لتطبيق Firebase وفقط لخدمات Firebase. ويُطلق على هذه المفاتيح عادةً
Browser key (auto created by Firebase)أوAndroid key (auto created by Firebase)أوiOS key (auto created by Firebase). - يجب أن يتضمّن جميع واجهات برمجة التطبيقات المطلوبة والمتعلّقة بمنصّة Firebase والمضمّنة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" الخاصة بالمفتاح.
-
لا تتضمّن القائمة المسموح بها في "قيود واجهة برمجة التطبيقات" أي واجهات برمجة تطبيقات أخرى. على وجه الخصوص، يجب ألّا
تتضمّن القائمة
Generative Language API.
تأكَّد أيضًا من استخدام Firebase Security Rules وApp Check على النحو الموصى به لمنتجات Firebase التي تستخدمها.
يمكنك الاطّلاع على تفاصيل حول مفاتيح واجهة برمجة التطبيقات في 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، مثل دور 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 نموذج تطبيق لتتمكن من استكشاف Firebase وتجربته وخدمات Google الأخرى (مثل Gemini API) من خلال تطبيق عملي.
الإعداد التلقائي لـ Firebase ونشر نموذج التطبيق
عندما تخوض تجربة التطبيق النموذجي في وحدة تحكّم Firebase، ننفّذ تلقائيًا ما يلي:
- إنشاء مشروع جديد على Firebase لتطبيقك النموذجي
- تسجيل تطبيق إنترنت على Firebase في مشروع Firebase الجديد
- فعِّل الخدمات وواجهات برمجة التطبيقات التي يستخدمها التطبيق النموذجي (مثل Firebase Authentication وCloud Firestore وما إلى ذلك).
- توفير أي مراجع مطلوبة (مثل مثيلات قاعدة البيانات وقواعد الأمان)
- إعداد Firebase AI Logic لاستخدام Gemini Developer API
- نشر نموذج التطبيق على عنوان URL مؤقت للمعاينة باستخدام Firebase Hosting (ينتهي هذا العنوان بعد 7 أيام تلقائيًا)
استكشاف قاعدة الرموز البرمجية للتطبيق النموذجي
الخيار 1: فتح نسخة مخصّصة من قاعدة الرموز البرمجية لتطبيق العيّنة في Firebase Studio
توفّر تجربة نموذج التطبيق مسارًا لفتح نسخة مخصَّصة من قاعدة الرموز البرمجية لنموذج التطبيق في Firebase Studio (مساحة عمل مستندة إلى المتصفّح من Google لتطوير تطبيقات الحزمة الكاملة). بعد إعداد مشروعك وتطبيقك (راجِع ما ورد أعلاه)، يمكنك العثور على روابط تؤدي إلى Firebase Studio في البانرات في وحدة تحكّم Firebase وفي أعلى التطبيق الذي تم نشره.
عند فتح تطبيقك النموذجي في Firebase Studio، ننفّذ تلقائيًا ما يلي نيابةً عنك:
- استخدِم مشروع Firebase وتطبيق Firebase على الويب والموارد التي تم إنشاؤها في عملية الإعداد الأولية (راجِع ما ورد أعلاه).
- أدرِج إعدادات Firebase لتطبيقك النموذجي في قاعدة الرموز البرمجية (عادةً في
src/bootstrap.js)
ضمن Firebase Studio، يمكنك استكشاف قاعدة الرموز البرمجية لمعرفة كيفية التفاعل مع خدمات Firebase وGoogle المختلفة.
الخيار 2: عرض الإصدار العلني غير المخصّص من قاعدة الرموز البرمجية الخاصة بنموذج التطبيق في GitHub
بدلاً من ذلك، يمكنك الاطّلاع على الإصدار العام غير المخصّص من قاعدة بيانات التطبيق النموذجي على GitHub.
- "التخطيط باستخدام Gemini API" - مستودع GitHub
Firebase Local Emulator Suite
لماذا تعرض سجلّات Local Emulator Suite خطأً يبدأ بـ "لا يُنصح باستخدام عدّة أرقام تعريف للمشاريع في وضع المشروع الفردي"؟
تعني هذه الرسالة أنّ Local Emulator Suite رصد أنّه قد يتم تشغيل محاكي منتج معيّن باستخدام أرقام تعريف مشاريع مختلفة. وقد يشير ذلك إلى خطأ في الضبط، ويمكن أن يتسبّب في حدوث مشاكل عندما تحاول المحاكيات التواصل مع بعضها البعض، وعندما تحاول التفاعل مع المحاكيات من الرمز البرمجي. إذا لم تتطابق أرقام تعريف المشاريع، سيظهر غالبًا أنّ البيانات غير متوفّرة، لأنّ البيانات المخزّنة في المحاكيات يتم ربطها برقم تعريف المشروع، وتعتمد إمكانية التشغيل التفاعلي على تطابق أرقام تعريف المشاريع.
وقد كان هذا الأمر مصدرًا شائعًا للالتباس بين المطوّرين، لذا لن يسمح الخيار Local Emulator Suite الآن بشكل تلقائي إلا بتشغيل التطبيق باستخدام رقم تعريف مشروع واحد، ما لم تحدّد خلاف ذلك في ملف الإعداد firebase.json. إذا رصد المحاكي أكثر من رقم تعريف مشروع واحد، سيسجّل تحذيرًا وقد يعرض خطأ فادحًا.
تحقَّق من بيانات تعريف رقم تعريف مشروعك بحثًا عن أي اختلافات في ما يلي:
-
المشروع التلقائي الذي تم ضبطه في سطر الأوامر سيتم تلقائيًا الحصول على رقم تعريف المشروع عند بدء التشغيل من المشروع الذي تم اختياره باستخدام
firebase initأوfirebase use. لعرض قائمة المشاريع (ومعرفة المشروع المحدّد)، استخدِمfirebase projects:list. -
اختبارات الوحدات: يتم غالبًا تحديد رقم تعريف المشروع في طلبات
إلى طرق مكتبة اختبار الوحدات في "قواعد بيانات Firebase"
initializeTestEnvironmentأوinitializeTestApp. قد تتم تهيئة رمز الاختبار الآخر باستخدامinitializeApp(config). -
العلامة
--projectفي سطر الأوامر يؤدي تمرير العلامة Firebase CLI--projectإلى إلغاء المشروع التلقائي. عليك التأكّد من أنّ قيمة العلامة تتطابق مع رقم تعريف المشروع في اختبارات الوحدات وعملية تهيئة التطبيق.
الأماكن التي يجب التحقّق منها على كل منصة:
| الويب | السمة projectId في كائن firebaseConfig الخاص بلغة JavaScript، والمستخدَمة في initializeApp |
| Android | السمة project_id داخل ملف الإعداد google-services.json |
| منصات Apple | السمة PROJECT_ID في ملف الإعداد GoogleService-Info.plist |
لإيقاف وضع المشروع الفردي، عدِّل firebase.json باستخدام المفتاح singleProjectMode:
{
"firestore": {
...
},
"functions": {
...
},
"hosting": {
...
},
"emulators": {
"singleProjectMode": false,
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
...
}
}
الأسعار
للاطّلاع على الأسئلة الشائعة حول الأسعار الخاصة بمنتج معيّن، يُرجى الرجوع إلى قسم المنتج على هذه الصفحة أو ضمن مستندات المنتج المخصّصة.
ما هي المنتجات المدفوعة؟ وما هي الميزات التي لا تتطلّب أي تكلفة؟
للحصول على معلومات تفصيلية حول المنتجات المدفوعة مقابل المنتجات بدون تكلفة، اطّلِع على خطط أسعار Firebase.
هل تقدّم Firebase رصيدًا تجريبيًا بدون تكلفة للمنتجات المدفوعة؟
يمكن استخدام خدمات Firebase المدفوعة ضمن Google Cloud الفترة التجريبية المجانية. يمكن للمستخدمين الجدد Google Cloud ومستخدمي Firebase الاستفادة من فترة تجريبية مدتها 90 يومًا تتضمّن رصيدًا مجانيًا بقيمة 300 دولار أمريكي Cloud Billing لاستكشاف وتقييم Google Cloud ومنتجات وخدمات Firebase.
خلال Google Cloud الفترة التجريبية المجانية، سيتم تزويدك بحساب Cloud Billing الفترة التجريبية المجانية. سيتم استخدام خطة أسعار Blaze بنظام الدفع حسب الاستخدام لأي مشروع على Firebase مرتبط بحساب الفوترة هذا خلال فترة التجربة المجانية.
لا داعي للقلق، فربط مشروع Firebase بهذا الحساب التجريبي المجاني Cloud Billing لا يتيح لنا تحصيل رسوم منك مقابل الاستخدام بما يتجاوز هذه الرصيد. لن يتم تحصيل رسوم منك مقابل الاستخدام الذي يتجاوز هذه الأرصدة إلا إذا فعّلت الفوترة صراحةً من خلال ترقية حسابك في "الفترة التجريبية المجانية" Cloud Billing إلى حساب مدفوع. يمكنك الترقية إلى حساب مدفوع في أي وقت خلال الفترة التجريبية. بعد الترقية إلى حساب مدفوع، سيظل بإمكانك استخدام أي رصيد متبقٍ (خلال فترة الـ 90 يومًا).
بعد انتهاء الفترة التجريبية المجانية، وفي حال عدم ترقية حساب Cloud Billing "الفترة التجريبية المجانية" إلى حساب مدفوع، سيتم تلقائيًا خفض مستوى مشروع Firebase المرتبط إلى خطة Spark الأساسية. يُرجى العِلم أنّه يمكنك الترقية إلى خطة أسعار Blaze مجددًا في أي وقت.
مزيد من المعلومات حول الفترة التجريبية المجانية من Google Cloud
كيف يمكنني معرفة خطة الأسعار المناسبة لي؟
للحصول على معلومات تفصيلية حول خطط الأسعار، اطّلِع على خطط أسعار Firebase.
خطة Spark الأساسية
تُعدّ خطة Spark الأساسية خيارًا رائعًا لتطوير تطبيقك بدون أي تكلفة. ستحصل على جميع منتجات Firebase المجانية (مثل Analytics وRemote Config وCrashlytics وما إلى ذلك) وكميات كبيرة من ميزات البنية الأساسية المدفوعة، ولكن إذا تجاوزت موارد خطة Spark الأساسية خلال شهر تقويمي، سيتم إيقاف تطبيقك لبقية ذلك الشهر. بالإضافة إلى ذلك، لا تتوفّر ميزات Google Cloud عند استخدام خطة Spark الأساسية.
خطة Blaze المَرِنة
تم تصميم خطة Blaze المَرِنة للدفع حسب الاستخدام للتطبيقات الجاهزة للإصدار العلني. تتيح لك خطة Blaze المَرِنة أيضًا توسيع نطاق تطبيقك باستخدام ميزات مدفوعة Google Cloud. تدفع فقط مقابل الموارد التي تستهلكها، ما يتيح لك التوسّع حسب الطلب. نسعى جاهدين إلى أن تكون أسعار خطة Blaze المَرِنة تنافسية مقارنةً بمقدّمي الخدمات السحابية الرائدين في المجال.
هل يمكنني الترقية أو الرجوع إلى إصدار سابق أو الإلغاء في أي وقت؟
نعم، يمكنك الترقية أو الرجوع إلى إصدار سابق أو الإلغاء في أي وقت. يُرجى العِلم أنّنا لا نردّ جزءًا من الأموال المدفوعة عند خفض مستوى الاشتراك أو إلغائه. وهذا يعني أنّه في حال خفضت مستوى اشتراكك أو ألغيته قبل نهاية مدة الفوترة، سيظل عليك دفع رسوم الفترة المتبقية من الشهر.
ما هو الفرق بين الاستخدام بدون تكلفة في خطة Blaze المَرِنة والاستخدام بدون تكلفة في خطة Spark الأساسية؟
يتم احتساب الاستخدام بدون تكلفة في خطة Blaze المَرِنة يوميًا. تختلف حدود الاستخدام أيضًا عن خطة Spark الأساسية في ما يخص Cloud Functions والمصادقة عبر الهاتف وTest Lab.
بالنسبة إلى Cloud Functions، يتم احتساب الاستخدام بدون تكلفة في خطة Blaze المَرِنة على مستوى حساب Cloud Billing وليس على مستوى المشروع، ويخضع للحدود التالية:
- مليونا عملية استدعاء في الشهر
- 400,000 غيغابايت في الثانية في الشهر
- 200,000 وحدة معالجة مركزية في الثانية/الشهر
- 5 غيغابايت من حركة الخروج من الشبكة في الشهر
بالنسبة إلى مصادقة الهاتف، يتم احتساب الاستخدام بدون تكلفة في خطة أسعار Blaze شهريًا.
بالنسبة إلى Test Lab، يخضع الاستخدام بدون تكلفة في خطة Blaze المَرِنة للحدود التالية:
- 30 دقيقة على الجهاز الفعلي في اليوم
- 60 دقيقة من استخدام الجهاز الافتراضي في اليوم
هل تتم إعادة ضبط حصة الاستخدام بدون تكلفة عند التغيير من خطة Spark الأساسية إلى خطة Blaze المَرِنة؟
يتم تضمين الاستخدام بدون تكلفة من خطة Spark الأساسية في خطة Blaze المَرِنة. لا تتم إعادة ضبط الاستخدام بدون تكلفة عند الانتقال إلى خطة أسعار Blaze.
ماذا يحدث لمشروع Firebase إذا ربطتُ حساب فوترة بهذا المشروع في وحدة تحكّم Google Cloud؟
إذا كان حساب Cloud Billing مرتبطًا بمشروع في وحدة تحكّم Google Cloud، سيتم تلقائيًا ترقية المشروع نفسه إلى خطة أسعار Blaze للدفع حسب الاستخدام في Firebase (إذا كان المشروع يستخدِم خطة أسعار Spark المجانية).
في المقابل، إذا تم إلغاء ربط حساب نشط حالي Cloud Billing بمشروع في وحدة تحكّم Google Cloud، سيتم خفض مستوى هذا المشروع إلى خطة أسعار Spark المجانية من Firebase.
كيف يمكنني تتبُّع استخدامي وفوترتي؟
يمكنك تتبُّع استخدامك لموارد المشروع في وحدة تحكّم Firebase على أيّ من لوحات البيانات التالية:
هل يمكنني وضع حدّ للاستخدام في خطة Blaze المَرِنة؟
لا، لا يمكنك وضع حدّ أقصى للاستخدام في خطة Blaze المَرِنة. ومع ذلك، نحن نقيّم حاليًا خيارات لإتاحة وضع حدود قصوى للاستخدام عند الاشتراك في خطة Blaze المَرِنة.
إذا كان مشروعك يستخدِم خطة Blaze المَرِنة، يمكنك تحديد ميزانية لمشروعك أو حسابك، وتلقّي تنبيهات عند اقتراب الإنفاق من هذه الحدود. كيفية إعداد تنبيهات الميزانية
ما هو نوع الدعم الذي سأتلقّاه؟
تتوفّر لجميع تطبيقات Firebase، بما في ذلك تلك التي تستخدم خططًا بدون تكلفة، خدمة الدعم عبر البريد الإلكتروني من موظفي Firebase خلال ساعات العمل في منطقة المحيط الهادئ في الولايات المتحدة. تتوفّر لجميع الحسابات خدمة دعم غير محدودة للمشاكل المتعلّقة بالفوترة والمشاكل المتعلّقة بالحساب والأسئلة الفنية (تحديد المشاكل وحلّها) وتقارير الحوادث.
هل تقدّمون خصومات للمؤسسات غير الربحية أو التعليمية أو التي تستخدم برامج مفتوحة المصدر؟
يمكن لأي فرد أو مؤسسة استخدام خطة أسعار Spark المجانية، بما في ذلك المؤسسات غير الربحية والمدارس ومشاريع المصادر المفتوحة. بما أنّ هذه الخطط تتضمّن حصصًا سخية، لا نقدّم أي خصومات أو خطط خاصة للمشاريع المفتوحة المصدر أو غير الربحية أو التعليمية.
هل تقدّمون عقودًا أو أسعارًا أو دعمًا أو استضافة بنية تحتية مخصّصة للمؤسسات؟
تُعدّ خطة أسعار Blaze بنظام الدفع حسب الاستخدام مناسبة للمؤسسات بجميع أحجامها، كما أنّ اتفاقية مستوى الخدمة تستوفي أو تتجاوز المعايير المتّبعة في المجال للبنية الأساسية السحابية. ومع ذلك، لا نقدّم عقودًا أو أسعارًا أو دعمًا للمؤسسات، كما أنّنا لا نقدّم استضافة مخصّصة للبنية التحتية (أي عمليات التثبيت المحلية) لخدمات مثل Realtime Database. ومع ذلك، نعمل حاليًا على استكشاف خيارات لإضافة بعض هذه الميزات.
هل تقدِّم أسعارًا مخصّصة؟ أريد استخدام ميزة الدفع حسب الاستخدام لميزة واحدة أو اثنتين فقط.
نقدّم أسعارًا مخصّصة من خلال خطة Blaze المَرِنة للدفع حسب الاستخدام، حيث تدفع فقط مقابل الميزات التي تستخدمها.
كيف تعمل خطط Firebase المدفوعة مع Ads؟ هل تتضمّن الخطط المدفوعة أرصدة إعلانية بدون تكلفة؟
تختلف خطط أسعار Firebase عن Ads، وبالتالي لا يتوفّر رصيد إعلاني بدون تكلفة. بصفتك مطوِّرًا على Firebase، يمكنك "ربط" حسابك على Ads بمنصة Firebase لتفعيل ميزة تتبُّع الإحالات الناجحة.
تتم إدارة جميع الحملات الإعلانية مباشرةً في Ads، وتتم إدارة فواتير Ads من وحدة تحكّم Ads.
ماذا حدث لخطة أسعار Flame؟
في يناير 2020، تم إيقاف خطة Flame السعرية (25 دولارًا أمريكيًا شهريًا من الحصة الإضافية) كخيار للاشتراكات الجديدة. تم منح مستخدمي الخطة الحالية فترة سماح لنقل مشاريعهم من خطة Flame.
في فبراير 2022، تم خفض مستوى المشاريع المتبقية في خطة أسعار Flame إلى خطة Spark الأساسية.
وبناءً على ذلك،
- لن يعود بإمكان المشاريع الحالية التي تستخدم خطة Spark الأساسية أو خطة Blaze المَرِنة، وأي مشاريع جديدة، التبديل إلى خطة Flame أو الاشتراك فيها.
- في حال نقل مشروع حالي ضمن خطة Flame إلى خطة أسعار مختلفة، لا يمكن إعادة المشروع إلى خطة Flame.
- يمكن ترقية المشاريع التي تم تخفيضها إلى خطة Spark الأساسية إلى خطة Blaze المَرِنة لاستئناف الخدمات المدفوعة الإضافية.
- تمت إزالة الإشارات إلى خطة Flame من المستندات.
هل لديك أسئلة إضافية حول إيقاف خطة Flame نهائيًا؟ يمكنك الاطّلاع على بعض الأسئلة الشائعة الإضافية أدناه.
هل تريد معرفة المزيد عن خطط الأسعار الأخرى التي تقدّمها Firebase؟ يُرجى الانتقال إلى صفحة أسعار Firebase. إذا أردت بدء نقل أي مشاريع حالية إلى خطة أسعار أخرى، يمكنك إجراء ذلك في وحدة تحكّم Firebase الخاصة بمشروعك.
أسئلة شائعة إضافية حول إيقاف خطة Flame
لديّ مشروع أو عملية أو نموذج أعمال يعتمد على تكلفة ثابتة في Firebase. ماذا يجب أن أفعل؟
اشترِك في خطة Blaze المَرِنة، وتأكَّد من ضبط تنبيهات بشأن الميزانية.
هل يمكنني الحصول على إذن خاص لإنشاء مشاريع جديدة في خطة Flame؟
لا، لا يوفّر Firebase إذن وصول خاصًا للمشاريع للتبديل إلى خطة Flame أو الاشتراك فيها.
لقد غيّرتُ مشروع خطة Flame إلى خطة أسعار مختلفة. كيف يمكنني تغييره مجددًا؟
لم يعُد بإمكانك التبديل إلى خطة Flame. للوصول إلى الخدمات التي توفّرها خطة Flame، تأكَّد من أنّك تستخدم خطة أسعار Blaze، واحرص على إعداد تنبيهات الميزانية لمشروعك.
تم تلقائيًا تبديل مشروعي إلى خطة أسعار مختلفة كجزء من إيقاف خطة Flame. ماذا يجب أن أفعل؟
إذا كان مشروعك يتطلّب حصة إضافية تتجاوز ما توفّره خطة Spark الأساسية، عليك ترقية مشروعك إلى خطة Blaze المَرِنة.
لماذا سيتم إيقاف خطة Flame نهائيًا؟
على مر السنين، لاحظنا انخفاضًا في استخدام خطة Flame، ومعظم المشاريع التي تستخدم الخطة لا تستفيد من قيمتها الكاملة. وبشكل عام، لا تكون خطة الأسعار هذه فعّالة من حيث التكلفة، ونعتقد أنّه يمكننا تقديم خدمة أفضل للجميع إذا تم توجيه الموارد إلى مبادرات Firebase الأخرى.
الخصوصية
أين يمكنني العثور على معلومات حول الخصوصية والأمان في Firebase؟
يمكنك الاطّلاع على الصفحة الخصوصية والأمان في Firebase.
هل تسجّل حِزم تطوير البرامج (SDK) في Firebase أي معلومات عن الاستخدام أو التشخيص خارج نطاق "إحصاءات Google"؟
نعم. في الوقت الحالي، تتوفّر هذه الميزة على أجهزة iOS فقط، ولكن قد يتغيّر ذلك في المستقبل. تتضمّن حزمة تطوير البرامج (SDK) لمنصة Firebase على أجهزة Apple إطار عمل FirebaseCoreDiagnostics
تلقائيًا. تستخدم Firebase هذا الإطار لجمع معلومات حول استخدام حزمة تطوير البرامج (SDK) وبيانات التشخيص للمساعدة في تحديد أولويات التحسينات المستقبلية على المنتج. FirebaseCoreDiagnostics هي خطوة اختيارية، لذا إذا أردت إيقاف إرسال سجلّات بيانات التشخيص إلى Firebase، يمكنك إجراء ذلك من خلال إلغاء ربط المكتبة بتطبيقك. يمكنك تصفّح المصدر الكامل، بما في ذلك القيم المسجّلة، على GitHub.
A/B Testing
يمكنك الانتقال إلى A/B Testing صفحة تحديد المشاكل وحلّها والأسئلة الشائعة للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
AdMob
AdMob: هل يمكنني ربط تطبيقات Windows بمنصة Firebase؟
لا، لا تتوافق تطبيقات Windows مع ChromeOS.
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: ما هي حِزم SDK التي يجب استخدامها للاستفادة من AdMob؟
لاستخدام AdMob، عليك دائمًا استخدام حزمة تطوير البرامج (SDK) Google Mobile Ads كما هو موضّح في الأسئلة الشائعة هذه. بالإضافة إلى ذلك، يمكنك اختياريًا تضمين حزمة تطوير البرامج (SDK) لمنصة Firebase الخاصة بـ Google Analytics في تطبيقك إذا كنت تريد جمع مقاييس سلوك المستخدِمين لتطبيق AdMob.
-
بالنسبة إلى مشاريع iOS:
استورِد حزمة تطوير البرامج Google Mobile Ads باتّباع التعليمات الواردة في AdMob مستندات iOS. -
بالنسبة إلى مشاريع Android:
أضِف الاعتمادية لحزمة تطوير البرامج (SDK) الخاصة بـ Google Mobile Ads إلى ملفbuild.gradle:
implementation 'com.google.android.gms:play-services-ads:25.3.0'
- بالنسبة إلى مشاريع C++ ومشاريع Unity: اتّبِع التعليمات الواردة في المستندات ذات الصلة.
إحصاءات Google
Analytics: لماذا يُنصح باستخدام "إحصاءات Google" مع منتجات Firebase؟
Google Analytics هي خدمة إحصاءات مجانية وغير محدودة تعمل مع ميزات Firebase لتقديم إحصاءات فعّالة. تتيح لك هذه الخدمة الاطّلاع على سجلّات الأحداث في Crashlytics وفعالية الإشعارات في FCM وأداء الروابط المؤدية إلى صفحات معيّنة في Dynamic Links وبيانات عمليات الشراء داخل التطبيق من Google Play. وتتيح هذه الميزة استهداف الجمهور المتقدّم في Remote Config، وتخصيص Remote Config، وغير ذلك.
تعمل Google Analytics كطبقة ذكاء في Firebase لتزويدك بإحصاءات أكثر قابلية للتنفيذ حول كيفية تطوير تطبيق عالي الجودة وتنمية قاعدة المستخدمين وتحقيق المزيد من الأرباح.
للبدء، اقرأ المستندات.
Analytics: كيف يمكنني التحكّم في طريقة مشاركة بيانات Analytics مع بقية خدمات Firebase؟
بشكل تلقائي، يتم استخدام بياناتك Google Analytics لتحسين ميزات Firebase وGoogle الأخرى. يمكنك التحكّم في كيفية مشاركة بيانات Google Analytics في إعدادات مشروعك في أي وقت. مزيد من المعلومات عن إعدادات مشاركة البيانات
Analytics: كيف يمكنني تعديل إعدادات موقعي على "إحصاءات Google"؟
من صفحة المشرف في موقعك على "إحصاءات Google"، يمكنك تعديل إعدادات الموقع، على سبيل المثال:
- إعدادات مشاركة البيانات
- إعدادات الاحتفاظ بالبيانات
- إعدادات المنطقة الزمنية والعملة
لتعديل إعدادات موقعك، اتّبِع الخطوات التالية:
-
في وحدة تحكّم Firebase، انتقِل إلى
settings > إعدادات المشروع . - انتقِل إلى علامة التبويب عمليات الدمج، ثمّ انقر على إدارة أو عرض الرابط في بطاقة "إحصاءات Google".
- انقر على رابط حسابك على "إحصاءات Google" من أجل فتح إعدادات الحساب والموقع.
Analytics القياس على الجهاز في تطبيق iOS: كيف تم تعديل حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لتوفير ميزة "قياس الإحالات الناجحة على الجهاز فقط"، وهل يجب إجراء ترقية؟
قبل طرح الإصدار الذي يتيح تعديل قياس الإحالات الناجحة على الجهاز فقط باستخدام بيانات الأحداث، كان على المطوّرين تضمين وحدات متعدّدة من حزمة SDK يدويًا للاستفادة من إمكانات القياس على الجهاز فقط، وهي عملية تستغرق وقتًا طويلاً. نتيجةً لذلك، عدّلنا وحدة حزمة تطوير البرامج (SDK) التلقائية الحالية (FirebaseAnalytics) لتشمل أيضًا إمكانات قياس الإحالات الناجحة على الجهاز فقط في Google Ads.
في حال تثبيت Google Analytics التلقائي لحزمة تطوير البرامج (SDK) لنظام التشغيل iOS من Firebase، يمكن أن يستفيد تطبيقك أيضًا من إمكانات قياس الإحالات الناجحة على الجهاز فقط.
إذا كنت قد ثبّت حزمة SDK على إصدار معيّن، يجب التحديث إلى الإصدار 11.14.0 أو إصدار أحدث وطرح إصدار جديد من تطبيقك.
| إمكانات الاستهداف | الوحدات القديمة (إصدارات حزمة SDK الأقدم من 11.14.0) |
وحدات جديدة (إصدارات حزمة تطوير البرامج (SDK) الأحدث من 11.14.0 أو تساويه) |
|---|---|---|
|
إحصاءات معرّف المعلِنين (IDFA) قياس الإحالات الناجحة على الجهاز فقط (بيانات الطرف الأول) قياس الإحالات الناجحة على الجهاز فقط (بيانات الأحداث) |
لا ينطبق | FirebaseAnalytics |
|
الإحصاءات معرّف المعلِن (IDFA) |
FirebaseAnalytics |
FirebaseAnalytics/Core FirebaseAnalytics/IdentitySupport |
| إحصاءات Google | FirebaseAnalytics/WithoutAdIdSupport (تم إيقافه نهائيًا) | FirebaseAnalytics/Core |
|
Analytics قياس الإحالات الناجحة على الجهاز فقط (بيانات الطرف الأول) |
FirebaseAnalytics/WithoutAdIdSupport (تم إيقافه نهائيًا) FirebaseAnalyticsOnDeviceConversion (تم إيقافه نهائيًا) |
FirebaseAnalytics/Core GoogleAdsOnDeviceConversion* |
|
إحصاءات Google قياس الإحالات الناجحة على الجهاز فقط (بيانات الأحداث) |
لا ينطبق |
FirebaseAnalytics/Core GoogleAdsOnDeviceConversion |
|
إحصاءات Google قياس الإحالات الناجحة على الجهاز فقط (بيانات الطرف الأول) قياس الإحالات الناجحة على الجهاز فقط (بيانات الأحداث) |
لا ينطبق |
FirebaseAnalytics/Core GoogleAdsOnDeviceConversion |
|
الإحصاءات معرّف المعلِن (IDFA) قياس الإحالات الناجحة على الجهاز فقط (بيانات الطرف الأول) |
FirebaseAnalytics FirebaseAnalyticsOnDeviceConversion (تم إيقافه نهائيًا) |
FirebaseAnalytics* |
|
إحصاءات Google معرّف المعلِنين (IDFA) قياس الإحالات الناجحة على الجهاز فقط (بيانات الأحداث) |
لا ينطبق | FirebaseAnalytics |
GOOGLE_ADS_ON_DEVICE_CONVERSION_EVENT_DATA_ENABLED على NO (قيمة منطقية) في ملف Info.plist الخاص بتطبيقك.
Analytics في تطبيق iOS: هل يمكنني تثبيت Analytics بدون ميزات التصنيف كإعلان وجمع معرّف المعلِنين (IDFA)؟
نعم. يمكنك الاطّلاع على صفحة ضبط جمع البيانات واستخدامها للحصول على مزيد من التفاصيل.
Analytics في تطبيق iOS: كيف يمكنني تفعيل إطار عمل AdSupport؟
تتطلّب بعض ميزات Analytics، مثل شرائح الجمهور وتحديد المصدر في الحملات، وبعض خصائص المستخدمين، مثل العمر والاهتمامات، تفعيل إطار عمل AdSupport. وبدون هذا الإطار، لا يمكن لتطبيق Analytics جمع المعلومات اللازمة لتعمل هذه الميزات بشكل صحيح.
لتفعيل إطار عمل AdSupport، اتّبِع الخطوات التالية:
- في مشروع Xcode، اختَر هدف مشروعك.
- اختَر علامة التبويب عام لهدفك.
- وسِّع قسم أُطر العمل والمكتبات المرتبطة.
- انقر على + لإضافة إطار عمل.
- اختَر AdSupport.framework.
- أضِف علامة الرابط
-ObjCإلى إعدادات الإنشاء الخاصة بمشروعك ضمنOther Linker Flags.
قبل إرسال تطبيقك للمراجعة، تأكَّد من امتثاله لإرشادات استخدام معرّف المعلِن (IDFA).
Analytics: ما هي التغييرات التي طرأت على قسم "إحصاءات Google" مع التعديل الذي تم إجراؤه في تشرين الأول (أكتوبر) 2021؟
يمكنك الاطّلاع على ملخّص لهذه التغييرات في مقالة مركز مساعدة Firebase بعنوان وظيفة "إحصاءات Google 4" الجديدة في "إحصاءات Google لبرنامج Firebase".
Analytics: لماذا لا تظهر لي أي بيانات Analytics في وحدة تحكّم Firebase بعد إلغاء ربط Firebase بخدمة "إحصاءات Google"؟
تتوفّر بيانات Analytics ضمن موقع على "إحصاءات Google"، وليس ضمن مشروع Firebase. إذا حذفت الموقع أو ألغيت ربطه، لن يتمكّن Firebase من الوصول إلى بيانات 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)، لا يمكن استرداد بيانات Analytics التي تم جمعها سابقًا.
Analytics: كيف ستتأثّر منتجات Firebase أو منتجات Google المدمجة بحذف موقعي على "إحصاءات Google"؟
تعتمد العديد من منتجات Firebase على عملية دمج "إحصاءات Google". في حال حذف موقعك على "إحصاءات Google" وبياناته، سيحدث ما يلي إذا كنت تستخدم المنتجات التالية:
- Crashlytics: لم يعُد بإمكانك الاطّلاع على المستخدمين الذين لم يواجهوا أي أعطال، وسجلات التنقّل، و/أو تنبيهات السرعة.
- Cloud Messaging وIn-App Messaging: لم يعُد بإمكانك استخدام الاستهداف ومقاييس الحملات وتقسيم الجمهور إلى شرائح وتصنيفات الإحصاءات.
- Remote Config — لم يعُد بإمكانك استخدام الإعدادات المستهدَفة أو التخصيص.
- A/B Testing: لم يعُد بإمكانك استخدام A/B Testing لأنّ قياس التجربة يتم توفيره من خلال "إحصاءات Google".
- Dynamic Links — سيتم إيقاف أي ميزة تعتمد على بيانات من "إحصاءات Google".
بالإضافة إلى ذلك، ستتأثر عمليات الدمج التالية:
- لم يعُد بإمكانك تصدير بيانات Analytics إلى BigQuery.
- لن يعود بإمكانك الاستفادة من عمليات التكامل مع Google Ads أو Google AdMob.
إحصاءات: هل يمكنني نقل بيانات Analytics من مشروع Firebase إلى مشروع آخر؟
لا، لا يمكن نقل بيانات Analytics مباشرةً من مشروع Firebase إلى مشروع آخر. ومع ذلك، يمكنك تصدير البيانات ودمجها من كلا المشروعَين في مكان واحد، مثل BigQuery، لإجراء التحليل.
مع أنّه لا يمكن نقل البيانات الحالية، يمكنك ربط موقع Analytics حالي بمشروع Firebase جديد والبدء في جمع البيانات من ذلك الوقت في هذا المشروع الجديد. يمكنك إجراء عملية الربط هذه في Firebase أو واجهة مستخدم "إحصاءات Google". مزيد من المعلومات حول ربط موقع بمشروعك على Firebase
Analytics: كيف يمكنني تقسيم المستخدمين الذين لم يستوفوا بعض المعايير؟
يمكنك إعادة صياغة المشكلة من خلال "استهداف سلبي" لهؤلاء المستخدمين. على سبيل المثال، يمكنك إعادة صياغة المشكلة على النحو التالي: "عدم عرض الإعلانات للمستخدمين الذين اشتروا منتجًا"، ثم إنشاء شريحة جمهور من هؤلاء المستخدمين لاستهدافهم.
Analytics: هل تتوفّر شرائح الجمهور و/أو الأحداث المحدّدة في واجهة "إحصاءات Google" أيضًا في وحدة تحكّم Firebase؟
ستتم مزامنة شرائح الجمهور وخصائص المستخدمين. بالنسبة إلى بعض الميزات، عليك استخدام واجهة "إحصاءات Google"، مثل تقسيم المستخدمين إلى شرائح ومسارات الإحالة الناجحة المغلقة. يمكنك الوصول إلى واجهة "إحصاءات Google" مباشرةً من خلال الروابط لصفحات معيّنة من Firebase.
يمكن أيضًا إجراء أي تغييرات من وحدة تحكّم Firebase في "إحصاءات Google"، وستظهر هذه التغييرات في Firebase.
Authentication
Authentication: ما هي المناطق التي تتوافق مع ميزة المصادقة عبر الهاتف؟
تتيح Firebase Authentication إمكانية إثبات رقم الهاتف على مستوى العالم، ولكن لا يمكن لبعض الشبكات إرسال رسائل التحقّق بشكل موثوق. تحقّق المناطق التالية معدّلات تسليم جيدة، ومن المتوقّع أن تعمل بشكل جيد مع ميزة مصادقة الهاتف. في بعض المناطق، لا تتوفّر خدمات بعض شركات النقل بسبب انخفاض معدّلات نجاح التسليم.
| الإقليم | الرمز |
|---|---|
| م | أندورا |
| AE | الإمارات العربية المتحدة |
| AF | أفغانستان |
| AG | أنتيغوا وبربودا |
| AL | ألبانيا |
| صباحا | أرمينيا |
| AO | أنغولا |
| الواقع المعزّز | الأرجنتين |
| AS | ساموا الأمريكية |
| AT | النمسا |
| AU | أستراليا |
| AW | أروبا |
| AZ | أذربيجان |
| BA | البوسنة والهرسك |
| BB | بربادوس |
| BD | بنغلاديش |
| BE | بلجيكا |
| BF | بوركينا فاسو |
| BG | بلغاريا |
| BJ | بنين |
| BM | برمودا |
| BN | بروناي (دار السلام) |
| BO | بوليفيا |
| BR | البرازيل |
| BS | جزر البهاما |
| BT | بوتان |
| BW | بتسوانا |
| بواسطة | بيلاروس |
| BZ | بليز |
| CA | كندا |
| CD | الكونغو (كينشاسا) |
| CF | جمهورية أفريقيا الوسطى |
| CG | الكونغو (برازافيل) |
| CH | سويسرا |
| CI | ساحل العاج |
| CK | جزر كوك |
| CL | تشيلي |
| مدير الحملة | الكاميرون |
| CO | كولومبيا |
| رد جاهز | كوستاريكا |
| CV | كيب فيرد |
| CW | كوراساو |
| CY | قبرص |
| CZ | جمهورية التشيك |
| DE | ألمانيا |
| منسّق الموسيقى | جيبوتي |
| الدانمرك | الدانمرك |
| DM | دومينيكا |
| DO | جمهورية الدومينيكان |
| DZ | الجزائر |
| EC | الإكوادور |
| EG | مصر |
| ES | إسبانيا |
| ET | إثيوبيا |
| FI | فنلندا |
| FJ | فيجي |
| FK | جزر فوكلاند (مالفيناس) |
| FM | ولايات ميكرونيسيا المتحدة |
| FO | جزر فارو |
| FR | فرنسا |
| GA | الغابون |
| غيغابايت | المملكة المتحدة |
| GD | غرينادا |
| GE | جورجيا |
| GF | غويانا الفرنسية |
| GG | غيرنزي |
| GH | غانا |
| GI | جبل طارق |
| GL | غرينلاند |
| GM | غامبيا |
| GP | غوادلوب |
| GQ | غينيا الاستوائية |
| GR | اليونان |
| GT | غواتيمالا |
| GY | غويانا |
| HK | هونغ كونغ، منطقة إدارية خاصة تابعة للصين |
| HN | هندوراس |
| HR | كرواتيا |
| الشوط الأول | هايتي |
| الوحدة الرئيسية (HU) | المجر |
| رقم التعريف | إندونيسيا |
| IE | أيرلندا |
| IL | إسرائيل |
| IM | جزيرة مان |
| IN | الهند |
| IQ | العراق |
| تكنولوجيا المعلومات | إيطاليا |
| JE | جيرسي |
| JM | جامايكا |
| JO | الأردن |
| اليابان | اليابان |
| KE | كينيا |
| KG | قرغيزستان |
| KH | كمبوديا |
| كم | جزر القمر |
| KN | سانت كيتس ونيفيس |
| KR | كوريا (الجنوبية) |
| KW | الكويت |
| KY | جزر كايمان |
| KZ | كازاخستان |
| LA | جمهورية لاو الديمقراطية الشعبية |
| نقاط بسبب اصطدام الكرة بجسم ضارب الكرة | لبنان |
| LC | سانت لوشيا |
| LI | ليشتنشتاين |
| LK | سريلانكا |
| LS | ليسوتو |
| LT | ليتوانيا |
| LU | لوكسمبورغ |
| LV | لاتفيا |
| LY | ليبيا |
| MA | المغرب |
| MD | مولدوفا |
| ME | الجبل الأسود |
| MF | سانت مارتن (الجزء الفرنسي) |
| MG | مدغشقر |
| MK | جمهورية مقدونيا |
| MM | ميانمار |
| MN | منغوليا |
| MO | ماكاو، منطقة إدارية خاصة في الصين |
| MS | مونتسيرات |
| MT | مالطا |
| MU | موريشيوس |
| ميغاواط | مالاوي |
| MX | المكسيك |
| MY | ماليزيا |
| MZ | موزمبيق |
| غير متاح | ناميبيا |
| NC | كاليدونيا الجديدة |
| شمال شرق | النيجر |
| NF | جزيرة نورفولك |
| NG | نيجيريا |
| NI | نيكاراغوا |
| NL | هولندا |
| لا | النرويج |
| NP | نيبال |
| NZ | نيوزيلندا |
| OM | عُمان |
| PA | بنما |
| PE | بيرو |
| PG | بابوا غينيا الجديدة |
| PH | الفلبين |
| PK | باكستان |
| PL | بولندا |
| مساءً | سان بيير وميكلون |
| PR | بورتوريكو |
| ضربات الجزاء | فلسطين |
| PT | البرتغال |
| PY | باراغواي |
| QA | قطر |
| RE | جزيرة ريونيون |
| RO | رومانيا |
| RS | صربيا |
| RU | روسيا الاتحادية |
| RW | رواندا |
| SA | المملكة العربية السعودية |
| SC | سيشيل |
| جنوب شرق | السويد |
| SG | سنغافورة |
| ركلات الترجيح | سانت هلينا |
| SI | سلوفينيا |
| SK | سلوفاكيا |
| SL | سيراليون |
| SN | السنغال |
| SR | سورينام |
| ST | سان تومي وبرينسيبي |
| SV | السلفادور |
| SZ | سوازيلاند |
| TC | جزر توركس وكايكوس |
| TG | توغو |
| تايلاند | تايلاند |
| قائد فريق | تيمور الشرقية |
| TM | تركمانستان |
| إلى | تونغا |
| TR | تركيا |
| TT | ترينيداد وتوباغو |
| تايوان | تايوان، جمهورية الصين |
| TZ | حمهورية تنزانيا المتحدة |
| UA | أوكرانيا |
| UG | أوغندا |
| الولايات المتحدة | United States of America |
| UY | أوروغواي |
| UZ | أوزباكستان |
| VC | سانت فنسنت وجزر غرينادين |
| VE | فنزويلا (جمهورية بوليفارية) |
| VG | جزر فيرجن البريطانية |
| VI | جزر فيرجن الأمريكية |
| VN | فيتنام |
| WS | ساموا |
| YE | اليمن |
| YT | مايوت |
| ZA | جنوب أفريقيا |
| ZM | زامبيا |
| ZW | زيمبابوي |
Authentication: ماذا حدث للرسائل القصيرة SMS بدون تكلفة في خطة Spark الأساسية؟
اعتبارًا من سبتمبر 2024، ولتحسين أمان خدمة "المصادقة عبر الهاتف" وجودتها، يجب ربط مشاريع Firebase بحساب Cloud Billing لتفعيل خدمة الرسائل القصيرة واستخدامها.
Authentication: كيف يمكنني منع إساءة استخدام الرسائل القصيرة عند استخدام ميزة إثبات الهوية عبر الهاتف؟
للمساعدة في حماية مشروعك من زيادة عدد الزيارات إلى الرسائل القصيرة وإساءة استخدام واجهة برمجة التطبيقات، اتّخِذ الخطوات التالية:
ننصحك بضبط سياسة منطقة الرسائل القصيرة
الاطّلاع على استخدامك للرسائل القصيرة SMS على مستوى منطقة معيّنة
ابحث عن المناطق التي تم فيها إرسال عدد كبير جدًا من رسائل SMS ولم يتم فيها التحقّق من أي رسائل SMS (أو تم التحقّق من عدد قليل جدًا منها). نسبة الرسائل التي تم إثبات ملكيتها إلى الرسائل المُرسَلة هي معدّل النجاح. تتراوح معدّلات النجاح الصحية عادةً بين %70 و%85، لأنّ الرسائل القصيرة ليست بروتوكول تسليم مضمونًا، وقد تشهد بعض المناطق إساءة استخدام. تشير معدّلات النجاح الأقل من% 50 إلى إرسال العديد من الرسائل القصيرة ولكن تسجيل الدخول بنجاح مرات قليلة، وهو مؤشر شائع على الجهات السيئة واستغلال حركة بيانات الرسائل القصيرة.
استخدِم سياسة المناطق التي يمكن إرسال الرسائل القصيرة إليها إما لرفض المناطق التي تنخفض فيها معدلات النجاح في إرسال الرسائل القصيرة، أو للسماح بمناطق معيّنة فقط إذا كان تطبيقك مخصّصًا للتوزيع في أسواق معيّنة.
قصر نطاقات المصادقة المُصرّح بها
استخدِم لوحة بيانات إعدادات المصادقة لإدارة النطاقات المصرَّح بها. تتم إضافة النطاق localhost تلقائيًا إلى نطاقات المصادقة المعتمدة لتسهيل عملية التطوير. ننصحك بإزالة localhost من النطاقات المصرَّح بها في مشروع الإنتاج لمنع الجهات المسيئة من تنفيذ الرموز على نطاقها localhost للوصول إلى مشروع الإنتاج.
تفعيل App Check وفرضه
فعِّل App Check للمساعدة في حماية مشروعك من إساءة استخدام واجهة برمجة التطبيقات من خلال إثبات أنّ الطلبات لا تأتي إلا من التطبيقات المرتبطة بمشروعك.
لاستخدام App Check مع Firebase Authentication، يجب الترقية إلى Firebase Authentication with Identity Platform.
يُرجى العِلم أنّه عليك فرض App Check على Authentication في وحدة تحكّمFirebase (ننصحك بمراقبة عدد الزيارات قبل فرضها). يُرجى أيضًا التحقّق من قائمة المواقع الإلكترونية المعتمدة في reCAPTCHA Enterprise للتأكّد من أنّها تتضمّن مواقعك الإلكترونية المباشرة فقط، ومن أنّ قائمة التطبيقات المسجّلة في مشروعك في App Check دقيقة.
يُرجى العِلم أنّ App Check تساعد في الحماية من الهجمات الآلية من خلال التأكّد من أنّ المكالمة واردة من أحد تطبيقاتك المسجّلة. ولا يمنع المستخدمين من استخدام تطبيقك بطرق غير مقصودة (على سبيل المثال، بدء عمليات تسجيل الدخول وعدم إكمالها مطلقًا لإنشاء رسائل SMS مرسَلة).
Authentication: هل يمكن نقل أرقام الهواتف إلى مشغل شبكة جوّال جديد يتوافق مع ميزة مصادقة الهاتف؟
في الوقت الحالي، سيؤدي نقل الأرقام بين شركات الاتصالات إلى تعذُّر تسليم جميع الرسائل القصيرة للمستخدمين النهائيين. ولا يتوفّر حل بديل، ويعمل فريق 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 متاحة (واتّبعت جميع خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.
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 متاحة (واتّبعت جميع خطوات تحديد المشاكل وحلّها المذكورة أعلاه)، يُرجى التواصل مع فريق الدعم.
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).
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 تلقائيًا على مفتاح واجهة برمجة التطبيقات لمشروعك على Firebase الذي يحمل التصنيف Browser key، وتستخدم هذا المفتاح للتحقّق من أنّ عنوان URL لإعادة التوجيه عند تسجيل الدخول صالح وفقًا لقائمة النطاقات المصرّح بها.
تحصل Authentication على مفتاح واجهة برمجة التطبيقات هذا استنادًا إلى طريقة وصولك إلى حزمة تطوير البرامج (SDK) الخاصة بـ Authentication:
إذا كنت تستخدم Hostingأدوات مساعدة مصادقة مقدَّمة من Hosting لتسجيل دخول المستخدمين باستخدام حزمة Authentication JS SDK، سيحصل Firebase تلقائيًا على مفتاح واجهة برمجة التطبيقات مع بقية إعدادات Firebase في كل مرة تنشر فيها على Firebase Hosting. تأكَّد من أنّ
authDomainفي تطبيق الويبfirebaseConfigتم إعداده بشكل صحيح لاستخدام أحد النطاقات لموقع Hosting الإلكتروني هذا. يمكنك التأكّد من ذلك من خلال الانتقال إلىhttps://authDomain__/firebase/init.jsonوالتأكّد من أنّprojectIdيتطابق معfirebaseConfig.إذا كنت تستضيف رمز تسجيل الدخول بنفسك، يمكنك استخدام ملف
__/firebase/init.jsonلتوفير إعدادات Firebase لأداة المساعدة في إعادة التوجيه Authentication JS SDK المستضافة ذاتيًا. يجب أن يتطابق مفتاح واجهة برمجة التطبيقات وprojectIdالمدرَجان في ملف الإعداد هذا مع تطبيق الويبfirebaseConfig.
تأكَّد من عدم حذف مفتاح واجهة برمجة التطبيقات هذا: انتقِل إلى لوحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة تحكّم Google Cloud حيث يتم إدراج جميع مفاتيح واجهة برمجة التطبيقات الخاصة بمشروعك.
إذا لم يتم حذف
Browser key، يُرجى التحقّق مما يلي:تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها للمفتاح كي يتمكّن من الوصول إليها (مزيد من المعلومات حول قيود واجهة برمجة التطبيقات لمفاتيح واجهة برمجة التطبيقات).
إذا كنت تستضيف رمز تسجيل الدخول بنفسك، تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات المُدرَج في ملف
__/firebase/init.jsonيتطابق مع مفتاح واجهة برمجة التطبيقات في وحدة تحكّم Google Cloud. صحِّح المفتاح في الملف إذا لزم الأمر، ثم أعِد نشر تطبيقك.إذا تم حذف
Browser key، يمكنك أن تطلب من Firebase إنشاء مفتاح API جديد لك: في وحدة تحكّم Firebase، انتقِل إلىsettings > إعدادات المشروع ، ثمّ في قسم تطبيقاتك، انقر على تطبيق الويب. يؤدي هذا الإجراء إلى إنشاء مفتاح API تلقائيًا يمكنك الاطّلاع عليه في قسم إعداد حزمة تطوير البرامج (SDK) وضبطها لتطبيق الويب.
يُرجى العِلم أنّه في وحدة تحكّم Google Cloud، لن يُطلق على مفتاح واجهة برمجة التطبيقات الجديد هذا الاسم
Browser key، بل سيكون الاسم هو نفسه الاسم المستعار لتطبيق الويب على Firebase. إذا قررت إضافة قيود على واجهة برمجة التطبيقات إلى مفتاح واجهة برمجة التطبيقات الجديد هذا، تأكَّد من أنّ واجهة برمجة التطبيقات Firebase Authentication مدرَجة في قائمة واجهات برمجة التطبيقات المسموح بها.بعد إنشاء مفتاح واجهة برمجة التطبيقات الجديد، أكمِل الخطوات التالية:
إذا كنت تستخدم عناوين URL Hostingمحجوزة، أعِد نشر تطبيقك على Firebase ليتمكّن من الحصول تلقائيًا على مفتاح واجهة برمجة التطبيقات الجديد مع بقية إعدادات Firebase.
إذا كنت تستضيف رمز تسجيل الدخول بنفسك، انسخ مفتاح واجهة برمجة التطبيقات الجديد وأضِفه إلى ملف
__/firebase/init.json، ثم أعِد نشر تطبيقك.
Authentication: كيف يمكنني إنشاء عميل OAuth على الويب يدويًا؟
افتح صفحة بيانات الاعتماد في وحدة تحكّم Google Cloud.
في أعلى الصفحة، انقر على إنشاء بيانات اعتماد > معرّف عميل OAuth.
إذا طُلب منك ضبط شاشة طلب الموافقة، اتّبِع التعليمات الظاهرة على الشاشة، ثم واصِل تنفيذ الخطوات التالية في هذه الأسئلة الشائعة.
إنشاء عميل OAuth على الويب:
في حقل نوع التطبيق، اختَر تطبيق الويب.
في الحقل مصادر JavaScript المسموح بها، أضِف ما يلي:
http://localhosthttp://localhost:5000https://PROJECT_ID.firebaseapp.comhttps://PROJECT_ID.web.app
بالنسبة إلى معرِّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، أضِف ما يلي:
https://PROJECT_ID.firebaseapp.com/__/auth/handlerhttps://PROJECT_ID.web.app/__/auth/handler
احفظ عميل OAuth.
انسخ معرّف عميل OAuth الجديد وسر العميل إلى الحافظة.
في وحدة تحكّم Firebase، افتح القسم Authentication.
ضمن علامة التبويب طريقة تسجيل الدخول، افتح موفّر تسجيل الدخول باستخدام Google، ثم الصِق رقم تعريف العميل وسرّه اللذين أنشأتهما ونسختهما من وحدة تحكّم Google Cloud. انقر على حفظ.
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
انتقِل إلى صفحة الأسئلة الشائعة حول "وظائف Firebase السحابية" وتحديد المشاكل وحلّها للحصول على مساعدة في تحديد المشاكل وحلّها وإجابات عن الأسئلة الشائعة.
Cloud Messaging
يمكنك الانتقال إلى FCM صفحة تحديد المشاكل وحلّها والأسئلة الشائعة للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
Cloud Storage for Firebase
Cloud Storage for Firebase: ما هي التغييرات التي تم الإعلان عنها في سبتمبر 2024 بشأن الفئة التلقائية؟
انتقِل إلى مستندات Cloud Storage لمعرفة المزيد عن التغييرات في حزمة Cloud Storage التلقائية.
Cloud Storage for Firebase: ما هي التغييرات التي تم الإعلان عنها في سبتمبر 2024 بشأن متطلبات خطط الأسعار في Cloud Storage؟
انتقِل إلى مستندات Cloud Storage لمعرفة المزيد حول التغييرات في متطلبات خطة الأسعار في Cloud Storage.
Cloud Storage for Firebase: لماذا ألاحظ زيادة غير متوقّعة في عمليات التحميل والتنزيل؟
في السابق، لم يتم احتساب طلبات التنزيل والتحميل إلى واجهة برمجة التطبيقات Cloud Storage for Firebase بشكل صحيح. اتّخذنا خطوات لحلّ هذه المشكلة، بدءًا من 15 سبتمبر 2023.
ننصحك بمراقبة صفحة الاستخدام لمعرفة أي زيادات قد يتم احتسابها ضمن الحدود القصوى.
Cloud Storage for Firebase: كيف يمكنني توقّع المبلغ الذي سيتم تحصيله مني مقابل عمليات التحميل والتنزيل؟
انتقِل إلى صفحة أسعار Firebase واستخدِم حاسبة خطة Blaze المَرِنة. تسرد الآلة الحاسبة جميع أنواع الاستخدام لـ Cloud Storage for Firebase.
استخدِم أشرطة التمرير لإدخال الاستخدام المتوقّع لحزمة التخزين. ستقدّر الآلة الحاسبة فاتورتك الشهرية.
Cloud Storage for Firebase: لماذا تظهر لي أخطاء في أذونات حساب الخدمة في وحدة التحكّم أو عند استخدام واجهة برمجة التطبيقات Cloud Storage for Firebase (مثل رمز الخطأ 412)؟
في ما يلي بعض الأسباب المحتملة لظهور هذه الأخطاء:
لم يتم تفعيل واجهة برمجة التطبيقات Cloud Storage for Firebase لمشروعك.
يمكنك التحقّق مما إذا كانت واجهة برمجة التطبيقات مفعّلة في وحدة تحكّم Google Cloud. تعرَّف على كيفية العثور على واجهات برمجة التطبيقات المفعَّلة في مشروعك وكيفية تفعيلها في دليل Google Cloud هذا.
يواجه حساب الخدمة المطلوب لحساب Cloud Storage for Firebase إحدى المشاكل التالية:
حساب الخدمة لا يتضمّن الأذونات المطلوبة.
تم حذف حساب الخدمة. يُرجى العِلم أنّه في وحدة تحكّم Firebase، قد يظهر حساب الخدمة غير المتوفّر على شكل تعذُّر إضافة أذونات IAM المطلوبة.
للاطّلاع على حلّين لهاتين المشكلتين المتعلّقتين بحساب الخدمة، يُرجى الرجوع إلى الأسئلة الشائعة ذات الصلة في هذه الصفحة.
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
يمكنك الاطّلاع على جميع حسابات الخدمة الخاصة بمشروعك في علامة التبويب حسابات الخدمة في وحدة تحكّم Firebase.
إضافة حساب الخدمة المطلوب إذا كان غير متوفّر
إذا حذفت حساب الخدمة المطلوب أو لم يكن متوفّرًا في مشروعك، يمكنك اتّخاذ أحد الإجراءَين التاليَين لإضافة حساب الخدمة.
في وحدة تحكّم Firebase، قد يظهر حساب الخدمة المفقود على شكل تعذُّر إضافة أذونات IAM المطلوبة.
(يُنصح به) تلقائي: استخدِم
AddFirebaseنقطة نهاية REST لإعادة استيراد حزمة البيانات إلى Firebase. ما عليك سوى طلب نقطة النهاية هذه مرة واحدة، وليس مرة واحدة لكل حزمة بيانات مرتبطة.يدوي: اتّبِع الخطوات الواردة في إنشاء حسابات الخدمة وإدارتها.
باتّباع هذا الدليل، أضِف حساب خدمة يتضمّن دور IAM
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 في كل من أنشطة الروابط المؤدية إلى صفحات معيّنة لمحو هذه المَعلمة في حال تم تشغيل النشاط خارج النشاط الرئيسي.
Hosting
انتقِل إلى صفحة الأسئلة الشائعة وتحديد المشاكل وحلّها في استضافة Firebase للحصول على إجابات عن الأسئلة الشائعة.
Performance Monitoring
يمكنك الانتقال إلى Performance Monitoring صفحة تحديد المشاكل وحلّها والأسئلة الشائعة للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
Realtime Database
Realtime Database: ما المقصود بـ "اتصال قاعدة بيانات متزامن"؟
ويعادل الاتصال المتزامن جهازًا جوّالاً واحدًا أو علامة تبويب متصفّح أو تطبيق خادم متصل بقاعدة البيانات. تفرض Firebase حدودًا صارمة على عدد عمليات الربط المتزامنة بقاعدة بيانات تطبيقك. تم وضع هذه الحدود لحماية كل من Firebase والمستخدمين من إساءة الاستخدام.
يبلغ الحدّ الأقصى لخطة أسعار Spark 100 ولا يمكن زيادته. تسمح خطة Blaze المَرِنة بـ 200,000 اتصال متزامن كحد أقصى لكل قاعدة بيانات.
لا يشبه هذا الحدّ إجمالي عدد مستخدمي تطبيقك، لأنّ المستخدمين لا يتصلون جميعًا في الوقت نفسه. إذا كنت بحاجة إلى أكثر من 200,000 اتصال متزامن، راجِع الخيارات في التوسّع باستخدام قواعد بيانات متعددة.
Realtime Database: ما هي القيود المفروضة على توسيع نطاق Realtime Database؟
لكل مثيل Realtime Database حدود على عدد عمليات الكتابة في الثانية. بالنسبة إلى عمليات الكتابة الصغيرة، يبلغ هذا الحدّ 1, 000 عملية كتابة في الثانية تقريبًا. إذا كنت على وشك بلوغ هذا الحدّ الأقصى، يمكن أن يساعدك تجميع العمليات باستخدام تعديلات متعددة المسارات في تحقيق معدل نقل بيانات أعلى.
بالإضافة إلى ذلك، لكل نسخة من قاعدة البيانات حد أقصى لعدد عمليات الربط المتزامنة بقاعدة البيانات. تكون الحدود التلقائية كبيرة بما يكفي لمعظم التطبيقات. إذا كنت بصدد إنشاء تطبيق يتطلّب توسيع نطاق إضافيًا، قد تحتاج إلى تقسيم تطبيقك على عدة مثيلات من قاعدة البيانات لتوسيع نطاق إضافي. يمكنك أيضًا استخدام Cloud Firestore كقاعدة بيانات بديلة.
Realtime Database: ماذا يمكنني أن أفعل إذا تجاوزت حدود استخدام Realtime Database؟
إذا تلقّيت تنبيهًا أو إشعارًا عبر البريد الإلكتروني في وحدة تحكّم Firebase يفيد بأنّك تجاوزت حدود استخدام Realtime Database، يمكنك معالجة المشكلة استنادًا إلى حدّ الاستخدام الذي تجاوزته. للاطّلاع على استخدامك Realtime Database، انتقِل إلى لوحة بيانات Realtime Database الاستخدام في وحدة تحكّم Firebase.
إذا تجاوزت الحدّ الأقصى للتنزيل، يمكنك ترقية خطة أسعار Firebase أو الانتظار إلى أن تتم إعادة ضبط الحدّ الأقصى للتنزيل في بداية دورة الفوترة التالية. لتقليل عدد عمليات التنزيل، جرِّب الخطوات التالية:
- أضِف طلبات بحث للحدّ من البيانات التي تعرضها عمليات الاستماع.
- البحث عن طلبات البحث غير المفهرسة
-
استخدِم أدوات معالجة تستقبل فقط التعديلات على البيانات، مثل
on()بدلاً منonce(). - استخدِم قواعد الأمان لحظر عمليات التنزيل غير المصرّح بها.
إذا تجاوزت الحد الأقصى المسموح به لمساحة التخزين، عليك ترقية خطة الأسعار لتجنُّب انقطاع الخدمة. لتقليل حجم البيانات في قاعدة البيانات، جرِّب الخطوات التالية:
- تنفيذ مهام التنظيف الدورية
- قلِّل أي بيانات مكرّرة في قاعدة البيانات.
يُرجى العِلم أنّ ظهور أي عمليات حذف للبيانات في مساحة التخزين المخصّصة لك قد يستغرق بعض الوقت.
إذا تجاوزت الحدّ الأقصى المسموح به لعمليات الربط المتزامنة بقاعدة البيانات، عليك ترقية خطتك لتجنُّب أي انقطاع في الخدمة. لإدارة عمليات الربط المتزامنة بقاعدة البيانات، جرِّب الربط من خلال المستخدمين عبر REST API إذا لم يكونوا بحاجة إلى اتصال في الوقت الفعلي.
Realtime Database: ماذا يحدث إذا تجاوزت حدود التخزين أو التنزيل في خطة أسعار Spark الخاصة بـ Realtime Database؟
لتوفير سعر يمكن توقّعه، يتم وضع حد أقصى للموارد المتاحة لك عندما يكون مشروعك ضمن خطة Spark الأساسية. يعني ذلك أنّه عند تجاوز أي حد من حدود الخطة في أي شهر، سيتم إيقاف تطبيقك لمنع أي استخدام إضافي للموارد وتحصيل رسوم إضافية.
Realtime Database: ماذا يحدث إذا تجاوزت حدود الاتصال المتزامن في خطة أسعار Spark الخاصة بـ Realtime Database؟
عندما يصل تطبيقك إلى الحد الأقصى للاستخدام المتزامن في خطة Spark الأساسية، سيتم رفض أي اتصالات لاحقة إلى أن يتم إغلاق بعض الاتصالات الحالية. وسيستمر التطبيق في العمل لدى المستخدمين المرتبطين.
Realtime Database: ما هي النسخ الاحتياطية التلقائية؟ هل توفّرون نُسخًا احتياطية كل ساعة من Realtime Database؟
عمليات النسخ الاحتياطي المبرمَجة هي ميزة متقدّمة للمشاريع التي تستخدم خطة Blaze المَرِنة. تحتفظ هذه الميزة بنسخة احتياطية من بيانات Firebase Realtime Database مرة واحدة في اليوم وتحمّلها إلى Google Cloud Storage.
لا نوفّر نُسخًا احتياطية كل ساعة.
Realtime Database: لماذا كان معدّل نقل البيانات في Realtime Database أقل من المتوسط بين سبتمبر 2016 ومارس 2017؟
بالنسبة إلى عمليات احتساب معدل نقل البيانات، ندرِج عادةً النفقات العامة لتشفير طبقة المقابس الآمنة (استنادًا إلى الطبقة 5 من نموذج OSI). ومع ذلك، في
لقد أصلحنا الخطأ في أواخر
Remote Config
يمكنك الانتقال إلى Remote Config صفحة تحديد المشاكل وحلّها والأسئلة الشائعة للحصول على نصائح مفيدة وإجابات عن المزيد من الأسئلة الشائعة.
Test Lab
انتقِل إلى صفحة تحديد المشاكل وحلّها في Test Lab للحصول على نصائح مفيدة وإجابات عن الأسئلة الشائعة.
Firebase App Indexing
ماذا حدث لخدمة Firebase App Indexing؟
لم يعُد Firebase App Indexing الطريقة المقترَحة لفهرسة المحتوى بهدف عرضه كنتائج مقترَحة في تطبيق "بحث Google"، بل تشير الأسئلة الشائعة هذه إلى منتجات أخرى مفيدة للمطوّرين.
منصات Apple
الروابط العامة هي الطريقة المقترَحة لتوجيه المستخدمين مباشرةً من نتائج البحث والمواقع الإلكترونية والتطبيقات الأخرى إلى محتوى معيّن داخل تطبيقك.
Android
روابط التطبيقات على Android هي الطريقة المقترَحة لتوجيه المستخدمين مباشرةً من نتائج البحث والمواقع الإلكترونية والتطبيقات الأخرى إلى محتوى معيّن داخل تطبيقك.
قد تهمّك أيضًا الخيارات التالية:
بحث التطبيقات: بحث عالي الأداء على الجهاز فقط
مهام في التطبيقات: تتيح هذه الميزة للمستخدمين تشغيل تطبيقات Android والتحكّم فيها باستخدام صوتهم من خلال "مساعد Google".
اختصارات Android: توفّر للمستخدمين طرقًا سريعة لتنفيذ إجراء أو الوصول إلى المحتوى في تطبيقك.
مساحة تخزين تصنيف المستخدمين في Firebase
ما هي خدمة "تخزين شرائح المستخدمين" في Firebase؟
يخزِّن Firebase User Segmentation Storage Firebase معرّفات التثبيت والسمات والشرائح ذات الصلة، بالإضافة إلى قوائم المستخدِمين التي أنشأتها، وذلك لتوفير معلومات الاستهداف لخدمات Firebase الأخرى التي تستخدمها، مثل التخصيص في Crashlytics وFCM وRemote Config وغير ذلك.