רשימת משימות להשקה ב-Firebase

המסמך הזה מכיל רשימת משימות של שיטות מומלצות ושיקולים לפני השקת אפליקציית Firebase בסביבת הייצור.

שיטות מומלצות כלליות להפצה

  • חשוב לוודא שבדקתם את כל השינויים בFirebase Local Emulator Suite (במוצרים נתמכים) לפני הפריסה בסביבת הייצור. בדיקה יסודית יכולה למנוע טעויות יקרות.

  • מתחילים לאכוף את Firebase App Check בכל שירות שתומך בכך. ‫App Check עוזר לוודא שרק האפליקציות האמיתיות שלכם יכולות לגשת לשירותי הקצה העורפי ולמשאבים.

  • עיינו ברשימת המשימות הכללית של Firebase בנושא אבטחה.

  • משתמשים בהשקות של Firebase Remote Config כדי להשיק תכונות ועדכונים חדשים באפליקציה באופן בטוח והדרגתי.

  • אם עדיין לא עשיתם את זה, כדאי להגדיר Firebase Crashlytics. זהו כלי קל משקל לדיווח על קריסות בזמן אמת, שעוזר לכם לעקוב אחרי בעיות יציבות שפוגעות באיכות האפליקציה, לתעדף אותן ולתקן אותן.

הכרת המגבלות של תוכנית התמחור והתשלומים והגדרת התראות לגבי תקציב

  • חשוב לוודא שלא חורגים ממגבלות השימוש ומהמכסות אחרי המעבר לסביבת הייצור, במיוחד אם אתם משתמשים בתוכנית Spark ללא עלות. מומלץ לשדרג למינוי Blaze בתשלום לפי שימוש.

  • הגדירו התראות לגבי תקציב בפרויקט.

    • חשוב לציין שהתראות על תקציב לא מגבילות את התקציב, אלא רק שולחות התראות. התראה תשלח לכם הודעות כשתתקרבו לסף שהגדרתם או תחצו אותו, כדי שתוכלו ליצור קמפיינים באפליקציה או בפרויקט.

    • כדאי להגדיר התראות ופעולות מתקדמות, כמו פונקציות שישביתו את החיוב בתגובה להתראות.

    • אם אתם משתמשים ב-Firebase AI Logic, ב-Firebase App Hosting, ב-Cloud Functions for Firebase וב-Firebase Extensions, מומלץ מאוד להגדיר תקרות הוצאה, שישהו את השירות הרלוונטי אם הפרויקט יגיע לתקציב שהוגדר לאותו שירות.

  • אפשר לעקוב אחרי השימוש במרכזי הבקרה הספציפיים למוצר או במרכז הבקרה המרכזי Usage and billing במסוף Firebase.

חשוב לוודא שהפרויקטים והאפליקציות ב-Firebase פועלים לפי השיטות המומלצות

לא משנה אם אתם מפתחים בודדים או צוות בגודל של ארגון, חשוב לוודא שפרויקטים ב-Firebase, האפליקציות והמשאבים שלכם מוגנים ומאובטחים, ושהם יכולים להתפתח עם השינויים בצוות.

חשוב לזכור שפרויקט Firebase הוא בעצם פרויקט ב-Google Cloud שמופעלים בו שירותים והגדרות של Firebase. לכן, הרבה מהשיטות המומלצות של Google Cloud רלוונטיות גם ל-Firebase.

  • משתמשים בפרויקטים שונים ב-Firebase לפיתוח, לבדיקה ולייצור.

    מומלץ לצמצם את החשיפה הלא צפויה לפרויקט שמשויך לאפליקציית הייצור. מידע נוסף על הגדרת תהליכי עבודה לפיתוח

  • הגנה על הפרויקטים החשובים, במיוחד על הפרויקט שמשויך לאפליקציה שלכם בסביבת הייצור.

  • אם עדיין לא עשיתם את זה, כדאי להגדיר ארגון ב-Google Cloud ולהוסיף אליו את פרויקטי Firebase שלכם.

  • הוסיפו יותר מבעלים אחד לפרויקטים ב-Firebase, במיוחד אם הפרויקט לא נמצא בארגון ב-Google Cloud. מתי ואיך מקצים בעלים לפרויקט ב-Firebase

  • הוסיפו חברים לפרויקט (שנקראים גם "חשבונות משתמשים") כקבוצות Google במקום בנפרד.

    השימוש בקבוצות מקל על הקצאת תפקידים לחברי צוות בכמות גדולה, וגם על ניהול הגישה לפרויקט Firebase, במיוחד אם חברי הצוות מתחלפים או עוזבים.

  • מעניקים לכל חבר בפרויקט (שנקרא גם "גורם") את רמת הגישה המתאימה לפרויקטים ולמשאבים שלכם ב-Firebase. מידע נוסף זמין במאמר ניהול הגישה לפרויקט באמצעות Firebase IAM.

  • חשוב לוודא שכל חבר צוות בפרויקט (שנקרא גם 'בעל עניין') מגדיר את ההעדפות שלו לקבלת התראות לגבי מוצרים ספציפיים או סטטוס הפרויקט (למשל שינויים בתוכנית החיוב או במגבלות המכסה). מידע נוסף זמין במאמר בנושא קבלת התרעות מ-Firebase.

    אם רוצים שחברי פרויקט ספציפיים או נוספים יקבלו התראות, אפשר גם להתאים אישית את אנשי הקשר החיוניים של הפרויקט. כך אפשר לוודא שגם משתמשים אחרים, ולא רק ה-Project Owner של הפרויקט, יקבלו התראות על שינויים בחיוב, שינויים משפטיים ושינויים במוצר.

  • הגבלת מפתחות Firebase API רק לממשקי ה-API שצריכים להיות ברשימת ההיתרים של מפתח ה-API. כדאי גם לעיין במידע על מפתחות API ברשימת המשימות לאבטחה של Firebase.

הכנת שירותים ספציפיים שבהם משתמשים באפליקציה

לכל מוצר ושירות שאתם משתמשים בהם באפליקציה יכולים להיות שיקולים ספציפיים כשמשתמשים בהם בסביבת הייצור.

Firebase AI Logic

Google Analytics

App Check

  • חשוב לוודא שמזהה הצוות נכון בהגדרות הפרויקט במסוף Firebase.

  • אם עדיין לא עשיתם זאת, התחילו לאכוף את Firebase App Check בכל שירות שתומך בכך. ‫App Check עוזר לוודא שרק האפליקציות האמיתיות שלכם יכולות לגשת לשירותים ולמשאבים של הקצה העורפי.

Authentication

  • משביתים את כל הספקים שלא משתמשים בהם (במיוחד אימות אנונימי).

  • אם האפליקציה שלכם משתמשת בכניסה באמצעות חשבון Google, כדאי להתאים אישית את מסך ההסכמה ל-OAuth.

  • התאמה אישית של הדומיין והשולח עבור Authentication שירות שליחת האימיילים.

  • אם אתם משתמשים בשירותי האימות ב-SMS של Identity Platform, התחילו לאכוף את Firebase App Check והגדירו מדיניות אזורית ל-SMS כדי להגן על האפליקציה מפני ניצול לרעה של SMS.

  • מטמיעים טיפול בשגיאות בפלטפורמות של אפל כדי לטפל בשגיאות נפוצות ב-Authentication.

  • מוסיפים את הגיבוב SHA-1 של גרסת ההפצה של אישור החתימה של האפליקציה בהגדרות הפרויקט במסוף Firebase. צריך להזין את גיבוב ה-SHA-1 אם באפליקציה שלכם יש אפשרות להיכנס באמצעות מספר טלפון או באמצעות כניסה באמצעות חשבון Google (שמחייב לקוח OAuth).

  • מוסיפים בקרת גישה לדומיינים כדי למנוע שימוש לא מורשה. באופן ספציפי, צריך לאפשר גישה לדומיין הייצור בקטע Authentication במסוף Firebase (חשוב במיוחד אם משתמשים במוצרים שמסתמכים על Firebase Security Rules).

Cloud Firestore

  • מגדירים את Cloud Firestore Security Rules כדי למנוע גישה לא מכוונת לנתונים.

  • משתמשים ב-ProGuard לכיווץ קוד בגרסת ה-build להפצה. בלי ProGuard, ‏ ה-Cloud Firestore SDK והתלויות שלו יכולים להגדיל את גודל ה-APK.

Cloud Messaging

  • כדאי להפעיל את הייצוא של נתוני Cloud Messaging אל BigQuery כדי שתוכלו לנתח את הנתונים באמצעות BigQuery SQL או לייצא אותם לשימוש בכלים שלכם.

  • מעלים את מפתח האימות של APNS עבור Cloud Messaging באפליקציות של אפל במסוף Firebase. אם משתמשים באישור APNS, צריך לוודא שאישור ה-APNS של סביבת הייצור הועלה.

  • כדאי להפעיל את יומני הביקורת של Cloud ב-Cloud Messaging כדי ליצור יומני ביקורת שבהם מתועדים אירועי גישה למשאבי Google Cloud ופעילויות אדמין שנעשות בהם.

  • חשוב לעדכן מעת לעת לגרסה החדשה ביותר של ה-SDK כדי להתעדכן בתכונות חדשות ובעדכוני אבטחה.

  • בשרת האפליקציה, פועלים לפי השיטות המומלצות לניהול טוקנים של רישום ב-Cloud Messaging. שמרו את אסימוני הרישום עם חותמת זמן, עדכנו אותם כשיש שינויים והסירו אסימונים ישנים (שלא היו פעילים במשך יותר מחודש) כדי להבטיח דיווח תקין על מסירה וטירגוט יעיל של הודעות.

  • כדאי לפעול לפי השיטות המומלצות לשליחת הודעות Cloud Messaging בהיקף גדול. כדי להימנע מעומסי תנועה וממגבלות קצב, צריך להשתמש ב-HTTP v1 API או ב-Firebase Admin SDK, להטמיע השהיה מעריכית לפני ניסיון חוזר (exponential backoff) עם תנודות (jitter) לניסיונות חוזרים, ולכבד את הכותרות של Retry-After.

Cloud Storage

Crashlytics

Firebase ML

Performance Monitoring

Realtime Database

Remote Config

  • חשוב לוודא שכללי Remote Config ניסיוניים לא משפיעים על משתמשי הגרסה, ושהגדרות ברירת המחדל המתאימות של השרת ושל האפליקציה מופצות באפליקציה.

  • כדאי להגדיר פרמטר minimum_version ב-Remote Config כדי שתוכלו לבקש מהמשתמשים לעדכן את האפליקציה או לדרוש מהם לעשות זאת, אם גרסאות קודמות לא תואמות או הוצאו משימוש.