מדריך הבדיקה של Android 6.0

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

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

בדיקת ההרשאות

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

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

טיפים לבדיקה

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

  • לזהות את ההרשאות הנוכחיות של האפליקציה ואת נתיבי הקוד הקשורים.
  • בדיקת תהליכי השימוש של משתמשים בשירותים ובנתונים שמוגנים באמצעות הרשאות.
  • כדאי לבדוק שילובים שונים של הרשאות שהוקצו או בוטלו.
  • משתמשים בכלי adb כדי לנהל הרשאות משורת הפקודה:
    • הצגת רשימה של ההרשאות והסטטוס לפי קבוצה:
      adb shell pm list permissions -d -g
    • מעניקים או מבטלים הרשאה אחת או יותר באמצעות התחביר הבא:
      adb shell pm [grant|revoke] <permission.name> ...
  • בודקים באפליקציה אילו שירותים משתמשים בהרשאות.

בדיקת האסטרטגיה

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

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

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

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

בדיקת התכונות 'מצב נמנום' ו'אפליקציה במצב המתנה'

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

בדיקת האפליקציה באמצעות Doze

כדי לבדוק את Doze באפליקציה:

  1. הגדרת מכשיר חומרה או מכשיר וירטואלי עם קובץ אימג' של מערכת Android 7.0 (רמת API 24).
  2. מחברים את המכשיר למכונה לפיתוח ומתקינים את האפליקציה.
  3. מריצים את האפליקציה ומשאירים אותה פעילה.
  4. כדי לדמות את המכשיר שנכנס למצב Doze, מריצים את הפקודות הבאות:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
  5. חשוב לבדוק את התנהגות האפליקציה כשהמכשיר מופעל מחדש. חשוב לוודא שהמכשיר חוזר לפעילות בצורה חלקה כשהוא יוצא ממצב Doze.

בדיקת אפליקציות באמצעות App Standby

כדי לבדוק את מצב ההמתנה של האפליקציה:

  1. הגדרת מכשיר חומרה או מכשיר וירטואלי עם קובץ אימג' של מערכת Android 7.0 (רמת API 24).
  2. מחברים את המכשיר למכונה לפיתוח ומתקינים את האפליקציה.
  3. מריצים את האפליקציה ומשאירים אותה פעילה.
  4. מריצים את הפקודות הבאות כדי לדמות את האפליקציה במעבר למצב המתנה:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
  5. כדי לדמות את ההפעלה של האפליקציה, מריצים את הפקודה הבאה:
    $ adb shell am set-idle <packageName> false
  6. חשוב לבדוק את התנהגות האפליקציה כשהיא לא במצב שינה. מוודאים שהמכשיר חוזר למצב פעיל בצורה חלקה ממצב המתנה. באופן ספציפי, צריך לבדוק אם ההתראות והמשימות ברקע באפליקציה ממשיכות לפעול כצפוי.

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

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