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