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

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

أفضل الممارسات العامة لإصدار التطبيقات

  • تأكَّد من اختبار جميع التغييرات في Firebase Local Emulator Suite (للمنتجات المتوافقة) قبل طرحها في مرحلة الإنتاج. يمكن أن يساعد الاختبار الشامل في تجنُّب الأخطاء المكلفة.

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

  • راجِع قائمة التحقّق العامة من أمان Firebase.

  • استخدِم عمليات الطرحFirebase Remote Config من خلال التحديثات المحدودة لإصدار الميزات والتحديثات الجديدة لتطبيقك بأمان وتدريجيًا.

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

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

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

  • إعداد تنبيهات بشأن الميزانية لمشروعك

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تجهيز الخدمات المحدّدة المستخدَمة في تطبيقك

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

Firebase AI Logic

Google Analytics

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

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

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

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

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

App Check

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

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

Authentication

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

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

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

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

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

  • أضِف تجزئة SHA-1 للإصدار لشهادة توقيع تطبيقك في إعدادات المشروع في وحدة تحكّم Firebase. مطلوب تجزئة 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. في حال استخدام شهادات APNS، تأكَّد من تحميل شهادة APNS الخاصة بالإنتاج.

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 لا تؤثّر في مستخدمي الإصدار وأنّه يتم توزيع الإعدادات التلقائية المناسبة للخادم والتطبيق في تطبيقك.