قائمة التحقّق الخاصة بإطلاق Firebase

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

أفضل الممارسات العامة للإصدار

تعرَّف على حدود خطة التسعير واضبط تنبيهات بشأن الميزانية

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

  • اضبط تنبيهات بشأن الميزانية لمشروعك.

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

    • ننصحك بإعداد تنبيهات وإجراءات متقدّمة، مثل الدوال التي ستوقف الفوترة استجابةً للتنبيهات.

    • إذا كنت تستخدم Firebase AI Logic وFirebase App Hosting وCloud Functions for Firebase وFirebase Extensions، ننصحك بشدة أيضًا بـ ضبط حدود الإنفاق، ما سيؤدي إلى إيقاف الخدمة المعنيّة مؤقتًا إذا بلغ مشروعك الميزانية المحدّدة لهذه الخدمة.

  • راقِب استخدامك في لوحات البيانات الخاصة بالمنتج أو في لوحة البيانات المركزية الاستخدام والفوترة في Firebase Console.

تأكَّد من أنّ مشاريع Firebase وتطبيقاتك تتبع أفضل الممارسات

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

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

  • استخدِم مشاريع Firebase مختلفة للتطوير والاختبار والإنتاج.

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

  • احمِ مشاريعك المهمة، وخاصةً المشروع المرتبط بتطبيقك في مرحلة الإنتاج.

    • استخدِم قيود المشاريع للحماية من حذف المشاريع عن طريق الخطأ.

    • طبِّق علامة"الإنتاج" في Firebase Console لتسهيل تحديد بيئة الإنتاج.

  • ننصحك بإعداد مؤسسة Google Cloud وإضافة مشاريع Firebase إليها إذا لم يسبق لك ذلك.

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

  • أضِف أعضاء المشروع (المعروفين أيضًا باسم "المستخدمين الأساسيين") كمجموعات Google بدلاً من إضافتهم بشكل فردي.

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

  • امنح كل عضو في المشروع (المعروف أيضًا باسم "المستخدم الأساسي") مستوى الوصول المناسب إلى مشاريع Firebase ومواردها. مزيد من المعلومات في إدارة إذن الوصول إلى المشروع باستخدام Firebase IAM.

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

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

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

إعداد خدمات معيّنة مستخدَمة في تطبيقك

قد يكون لكل منتج وخدمة مستخدَمة في تطبيقك اعتبارات معيّنة عند استخدامها في مرحلة الإنتاج.

Firebase AI Logic

Google Analytics

  • حدِّد شروط الجمهور في Google Analytics لبدء جمع بيانات الإحصاءات بدءًا من إطلاق تطبيقك.

  • ننصحك بتفعيل ميزة تصوير بيانات Google Analytics إلى BigQuery حتى تتمكّن من تحليل بياناتك باستخدام BigQuery SQL أو تصدير البيانات لاستخدامها مع أدواتك الخاصة.

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

  • راجِع إعدادات Google Analytics أدوار Google Analyticsلخصائصك وحساباتك. تتم إدارة هذه الأذونات بشكل منفصل عن أذونات وأدوار إدارة الهوية والوصول (IAM) في مشروع Firebase.

  • تأكَّد من صحة معرّف متجر التطبيقات ومعرّف الفريق (إذا لزم الأمر) في إعدادات المشروع في Firebase Console.

App Check

  • تأكَّد من صحة معرّف فريقك في إعدادات المشروع في Firebase Console.

  • إذا لم تكن قد فعلت ذلك بالفعل، فابدأ بفرض Firebase App Check لكل خدمة تتيحها. تساعد ميزة App Check في ضمان عدم وصول أي تطبيقات أخرى غير تطبيقاتك الفعلية إلى خدمات الخلفية ومواردك.

Authentication

  • أوقِف أي موفِّرين لا تستخدمهم (خاصةً المصادقة المجهولة).

  • إذا كان تطبيقك يستخدم ميزة "تسجيل الدخول باستخدام حساب Google"، خصِّص شاشة طلب الموافقة على OAuth.

  • خصِّص نطاقك ومرسِلك لخدمة إرسال الرسائل الإلكترونية الخاصة بـ Authentication.

  • إذا كنت تستخدم خدمات التحقّق من رقم الهاتف عبر الرسائل القصيرة في Identity Platform، ابدأ بفرض Firebase App Check واضبط سياسة المنطقة للرسائل القصيرة لحماية تطبيقك من إساءة استخدام الرسائل القصيرة.

  • نفِّذ معالجة الأخطاء على منصات Apple للأخطاء الشائعة Authentication.

  • أضِف تجزئة SHA-1 للإصدار لشهادة توقيع تطبيقك في إعدادات المشروع في Firebase Console. تكون تجزئة SHA-1 مطلوبة إذا كان تطبيقك يستخدم ميزة تسجيل الدخول برقم الهاتف أو ميزة "تسجيل الدخول باستخدام حساب Google" (التي تتضمّن متطلبات خاصة بمعرّف عميل OAuth).

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

Cloud Firestore

  • اضبط Cloud Firestore Security Rules لمنع الوصول غير المقصود إلى البيانات.

  • استخدِم ProGuard لتقليل حجم الرمز في بنية الإصدار. بدون ProGuard، يمكن أن تزيد حزمة تطوير البرامج (SDK) Cloud Firestore والتبعيات التابعة لها من حجم ملف APK.

Cloud Messaging

  • ننصحك بتفعيل ميزة تصدير بيانات Cloud Messaging إلى BigQuery حتى تتمكّن من تحليل بياناتك باستخدام BigQuery SQL أو تصدير البيانات لاستخدامها مع أدواتك الخاصة.

  • حمِّل مفتاح مصادقة APNS لـ Cloud Messaging على تطبيقات Apple في Firebase console. إذا كنت تستخدم شهادات APNS، تأكَّد من تحميل شهادة APNS في مرحلة الإنتاج.

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

  • احرِص على التحديث بشكل دوري إلى أحدث إصدار من حزمة SDK للاطّلاع على أحدث الميزات وتحديثات الأمان.

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

  • اتّبِع أفضل الممارسات عند إرسال رسائل Cloud Messaging على نطاق واسع. استخدِم HTTP v1 API أو Firebase Admin SDK، نفِّذ التراجع الأسي مع التشوّش لإعادة المحاولات، والتزِم بـ Retry-After لتجنُّب ارتفاعات الزيارات وحدود المعدّل.

Cloud Storage

Crashlytics

  • تأكَّد من أنّ كل عضو في المشروع (المعروف أيضًا باسم "المستخدم الأساسي") يضبط إعداداته لتلقّي التنبيهات بشأن Crashlytics أو حالات معيّنة للمشروع (مثل التغييرات في خطة الفوترة أو حدود الحصص ). مزيد من المعلومات في تلقّي تنبيهات Firebase.

  • ننصحك بتفعيل ميزة تصدير بيانات Crashlytics إلى BigQuery حتى تتمكّن من تحليل بياناتك باستخدام BigQuery SQL أو تصدير البيانات لاستخدامها مع أدواتك الخاصة.

  • (أجهزة Android وiOS الأصلية فقط) ننصحك بتفعيل ميزة "المساعدة المستندة إلى الذكاء الاصطناعي" في Crashlytics للمساعدة في تسريع الوقت الذي تستغرقه لفهم سبب حدوث العطل و الإجراءات التي يجب اتخاذها لحلّه.

  • حمِّل ملف dSYM لبنيات الإصدار لاستخدامه في Crashlytics. تأكَّد من أنّ Xcode يمكنه معالجة ملفات dSYM تلقائيًا وتحميلها.

  • تحميل ملف ربط ProGuard لبنيات الإصدار لاستخدامه في Crashlytics. يمكن التحميل باستخدام Firebase CLI.

  • اربط Firebase بـ Google Play للحصول على عرض أكثر تفصيلاً عن حالة تطبيق Android. على سبيل المثال، يمكنك فلترة تقارير الأعطال في تطبيقك حسب مسار Google Play، ما يتيح لك تركيز لوحة البيانات بشكل أفضل على إصدارات معيّنة.

  • بالنسبة إلى الإصدارات التي تستهدف Android وتستخدم IL2CPP، تأكَّد من تحميل الرموز الأصلية لكل عملية تشغيل فردية للإصدار تريد الحصول على رموز لها، بغض النظر عما إذا كانت هناك أي تغييرات في الرمز أو الإعدادات.

Firebase ML

Performance Monitoring

  • تأكَّد من أنّ كل عضو في المشروع (المعروف أيضًا باسم "المستخدم الأساسي") يضبط إعداداته لتلقّي التنبيهات بشأن Performance Monitoring أو حالات معيّنة للمشروع (مثل التغييرات في خطة الفوترة أو حدود الحصص). مزيد من المعلومات في تلقّي تنبيهات Firebase.

  • ننصحك بتفعيل ميزة تصدير بيانات Performance Monitoring إلى BigQuery حتى تتمكّن من تحليل بياناتك باستخدام BigQuery SQL أو تصدير البيانات لاستخدامها مع أدواتك الخاصة.

Realtime Database

  • اضبط Realtime Database Security Rules لمنع الوصول غير المقصود إلى البيانات.

  • تأكَّد من أنّك مستعد للتوسّع. تتضمّن Realtime Database حصة تلقائية كبيرة بما يكفي لمعظم التطبيقات، ولكن قد تحتاج بعض التطبيقات إلى سعة إضافية.

  • اضبط قواعد ProGuard للعمل مع Realtime Database.

Remote Config

  • تأكَّد من أنّ أي قواعد تجريبية Remote Config في Remote Config لا تؤثر في مستخدمي الإصدار، وأنّه يتم توزيع الإعدادات التلقائية المناسبة للخادم والتطبيق في تطبيقك.

  • ننصحك بـ ضبط مَعلمة minimum_version في Remote Config حتى تتمكّن من مطالبة المستخدمين بتحديث تطبيقهم أو فرض ذلك عليهم إذا أصبحت الإصدارات السابقة غير متوافقة أو تم إيقافها نهائيًا.