תיקון מיידי של באגים קריטיים באפליקציית מובייל

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
תיקון מיידי של באגים קריטיים באפליקציית מובייל
בינוני
~2-3 שעות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

באגים קריטיים באפליקציה לנייד: היכן זה נשבר

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

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

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

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

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

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

מה משנה בירור כשלים מסודר: האפקט במספרים

המדדים כאן מתארים לא "נהיה יציב יותר", אלא כמויות קונקרטיות: כמה זמן עובר מהאות הראשון על כשל ועד הוצאת התיקון, עד כמה רחבות ההשלכות, ובאיזו תדירות אותו כשל חוזר.

הזמן עד לתיקון וחלון הגילוי

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

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

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

שיעור הפניות החוזרות על אותו כשל

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

במדידות של פניות אמיתיות, שיעור הפניות החוזרות על אותו כשל יורד באופן ניכר, ויציבות השחרור הופכת לכמות מדידה: כל תיקון מלווה בבדיקה שתרחישים סמוכים לא נשברו.

תבניות תגובה לבאגים קריטיים: כוננות, חלון תיקונים

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

כוננות וערוץ התראה

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

חלון תיקונים וכללי חזרה לאחור

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

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

כיצד אנו מנהלים תיקון: מהאות עד לבדיקה

כשל קריטי בסביבת העבודה מייצר מדי שעה סשנים אבודים ופניות לתמיכה, ולכן את התיקון אנו מנהלים כקו ייצור עם נקודות בקרה קבועות. סדר העבודה זהה לכל אות — מהקליטה ועד להעברת התמיכה.

  1. קליטה וסיווג. מאחדים דוחות קריסות, אנליטיקה ופניות תמיכה לזרם אחד ומחשבים את שיעור הסשנים שנפגעו — הוא קובע את העדיפות.
  2. בירור האות. משווים את הכשל לגרסת הבנייה, לדגם המכשיר ולגרסת המערכת, ומשחזרים את מחסנית הקריאות.
  3. שחזור הכשל. בבדיקות ובערכת מכשירים מביאים את התרחיש לחזרה יציבה — בלי זה התיקון הופך לניחוש.
  4. תיקון ורגרסיה. שינוי מינימלי בנתיב הפגוע בתוספת בדיקות מסביב: תרחישים סמוכים לא אמורים להישבר.
  5. בדיקה בסביבת העבודה. משחררים בגלים, בכל גל מנטרים את שיעור הכשלים.
  6. העברת תמיכה. את הסיבה, התיקון והבדיקות מתעדים בתקנון, כדי שאות דומה הבא יבורר מהר יותר.

כיצד נבנה בירור האות

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

בדיקה על משתמשים אמיתיים

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

תקנונים, סכימות ונקודות תצפית שנשארים אצלכם

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

הרכב החומרים המועברים

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

כיצד לתחזק את התקנון בלעדינו

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

בירור אירוע: הזמן עד לתיקון לפני ואחרי

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

מה היה לפני ומה נהיה

מדד לפני אחרי
הזמן מהאות הראשון עד לתיקון בשחרור 4–6 ימים 6–10 שעות
שיעור הכשלים החוזרים מאותו סוג 38% 4%
כשלים שנסגרו לפני פניית המשתמש 1 מתוך 10 7 מתוך 10

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

מה עשינו אחרת

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

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

במה שונה תיקון דחוף משחרור מתוכנן

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

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

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

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

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

הרשאות, לוחות זמנים וחזרתיות: ספקות נפוצים

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

אילו הרשאות לסביבת העבודה נדרשות וכמה מהר נותנים אותן?

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

כמה זמן אורכת הכניסה לפרויקט?

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

הכשל מהבהב ונתפס פעם אחת מעשר. מה אז?

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

כיצד בנויה הכוננות ומי אחראי למה?

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

נדון במשימה: מה לשלוח ואיך נתחיל לעבוד

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

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

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