הגדרת גרסת אפליקציה מינימלית באמצעות הגדרת תצורה מרחוק

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

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

בחירת אסטרטגיית עדכון

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

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

שלב 1: מגדירים פרמטרים במסוף Firebase

כדי לנהל גרסאות של אפליקציות, מגדירים פרמטרים בתבנית של Remote Config:

  1. במסוף Firebase, נכנסים לדף DevOps & Engagement ‏> הגדרת תצורה מרחוק ‏> Parameters.
  2. לוחצים על Add parameter (הוספת פרמטר) (או על Create configuration (יצירת הגדרה) אם זה הפרמטר הראשון).
  3. מגדירים את הפרמטרים הבאים:
    • minimum_version: מחרוזת שמייצגת את הגרסה המוקדמת ביותר של האפליקציה שנתמכת (לדוגמה, "2.4.0"). אפליקציות שפועלות בגרסה מוקדמת יותר מהערך הזה נחסמות עד שהן מתעדכנות.
    • latest_version (אופציונלי): מחרוזת שמייצגת את הגרסה הזמינה האחרונה של האפליקציה (לדוגמה, "2.5.1"). באפליקציות שפועלות בגרסה בין minimum_version ל-latest_version, אפשר להציג המלצה אופציונלית לעדכון.
    • update_url (אופציונלי): כתובת ה-URL של החנות שבה המשתמשים יכולים להוריד את העדכון (למשל, דף האפליקציה בחנות Google Play או ב-Apple App Store).
  4. אופציונלי: מוסיפים תנאים ספציפיים לפלטפורמה:
    • באפליקציות ל-Android ול-Apple יש בדרך כלל גרסאות הפצה וכתובות URL שונות בחנות, ולכן אתם יכולים להוסיף ערכים מותנים לכל פלטפורמה באותו פרמטר.
    • לוחצים על הוספת ערך לתנאי > יצירת תנאי. נותנים שם לתנאי (למשל Android App או iOS App), בוחרים באפשרות אפליקציה בתור כלל הטירגוט ובוחרים את האפליקציה.
    • מגדירים את מחרוזת הגרסה המתאימה לכל תנאי של פלטפורמה, ומשאירים את ערך ברירת המחדל כחלופה.
  5. לוחצים על שמירה ואז על פרסום השינויים כדי להחיל את התבנית.

שלב 2: הטמעת בדיקות גרסה בצד הלקוח

בצד הלקוח, בודקים את גרסת האפליקציה המותקנת מול הפרמטרים של Remote Config במהלך ההפעלה:

  1. הגדרת ערכי ברירת מחדל בתוך האפליקציה: תמיד צריך לספק ערכי ברירת מחדל בטוחים בתוך האפליקציה ב-App Bundle (לדוגמה, להגדיר את minimum_version לגרסה הראשונית של האפליקציה, כמו "1.0.0"). הגדרת ברירת המחדל הזו מבטיחה שהאפליקציה תמשיך לפעול כרגיל אם המכשיר במצב אופליין או אם בקשת השליפה הראשונית נכשלת. להנחיות ספציפיות לפלטפורמה, ראו הורדת ברירות המחדל של התבנית של Remote Config.
  2. אחזור והפעלה של Remote Config: מאחזרים ומפעילים את ערכי התבנית העדכניים ביותר כשהאפליקציה מופעלת.
  3. השוואת גרסאות: מאחזרים את המחרוזות הפעילות של minimum_version ו-latest_version ומשווים אותן לגרסת האפליקציה שמותקנת כרגע.

  4. ביצוע פעולה על סמך השוואת הגרסאות:

    • אכיפת העדכון הנדרש: אם current_version קודמת ל-minimum_version, תוצג התראה מודאלית במסך מלא שלא ניתן לסגור. משביתים את הניווט לשאר חלקי האפליקציה ומוסיפים לחצן שפותח את update_url בחנות האפליקציות של הפלטפורמה.
    • הצגת בקשה לעדכון אופציונלי: אם הגרסה current_version ישנה יותר מהגרסה latest_version, מוצגת תיבת דו-שיח או התראה שאפשר לסגור, שמודיעה למשתמשים שיש עדכון זמין, עם האפשרויות לעדכן עכשיו או מאוחר יותר.
    • מתן גישה: אחרת, המשתמש יכול להמשיך לאפליקציה.

שיטות מומלצות

  • הוספת מאזין בזמן אמת: כשצריך לעדכן גרסה בגלל בעיות אבטחה או פגיעה חמורה בחוויית המשתמש, הוספת מאזין Remote Config בזמן אמת לאפליקציה יכולה לעזור לוודא שהשינויים בדרישות הגרסה ייכנסו לתוקף באופן מיידי במכשירים פעילים, בלי לחכות לשליפה המתוזמנת הבאה או להפעלה מחדש של האפליקציה.
  • בדיקה עם קבוצת בדיקה מוגבלת: לפני שמעלים את minimum_version לכל משתמשי הייצור, בודקים את התנאי עם קבוצת בדיקה מוגבלת או מטרגטים בודקים פנימיים באמצעות מאפייני משתמש בהתאמה אישית. הבדיקה הזו מאשרת שהמודל החוסם מוצג בצורה נכונה ושהקישורים לחנות פועלים כמו שצריך.
  • שימוש בממשקי API של הפלטפורמה לעדכונים מתוך האפליקציה: ב-Android, כדאי לשלב את העדכונים מתוך האפליקציה של Google Play לצד הבדיקות של Remote Config כדי לאפשר למשתמשים להוריד ולהתקין עדכונים בלי לצאת מהאפליקציה.
  • קוראים את רשימות המשימות לסביבת הייצור: קוראים את רשימת המשימות להשקה של Firebase ואת רשימת המשימות של AI Logic לסביבת הייצור כדי לקבל הנחיות נוספות להכנת האפליקציה ותכונות ה-AI לסביבת הייצור.