לעמוד בדרישה לגבי רמת ה-API לטירגוט של Google Play

כשמעלים קובץ APK, הוא צריך לעמוד בדרישות של Google Play בנושא רמת ה-API לטירגוט.

החל מ-31 באוגוסט 2025:

  • אפליקציות חדשות ועדכוני אפליקציות חייבים לטרגט ל-Android 15 (רמת API 35) ומעלה כדי להישלח אל Google Play. הדרישה הזו לא חלה על אפליקציות ל-Wear OS, ל-Android Automotive OS ול-Android TV, שחייבות לטרגט ל-Android 14 (רמת API 34) ומעלה.
  • אפליקציות קיימות צריכות לטרגט ל-Android 14 (רמת API‏ 34) או לגרסה מתקדמת יותר כדי להמשיך להיות זמינות למשתמשים חדשים במכשירים שפועלת בהם מערכת Android OS בגרסה מתקדמת יותר מרמת ה-API לטירגוט של האפליקציה. אפליקציות שמטרגטות ל-Android 13 (רמת API ‏33) או לגרסאות קודמות, כולל Android 12 (רמת API ‏31) או לגרסאות קודמות ל-Wear OS ול-Android TV, יהיו זמינות רק במכשירים שפועלת בהם מערכת Android OS באותה רמה או ברמה נמוכה יותר מרמת ה-API לטירגוט של האפליקציה.

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

היוצאים מן הכלל לדרישות האלה כוללים:

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

למה כדאי לטרגט גרסאות חדשות יותר של SDK?

בכל גרסה חדשה של Android מוצגים שינויים שמשפרים את האבטחה והביצועים ומשדרגים את חוויית המשתמש ב-Android. חלק מהשינויים האלה חלים רק על אפליקציות שמוצהר בהן באופן מפורש על תמיכה באמצעות מאפיין המניפסט targetSdkVersion (שנקרא גם רמת ה-API לטירגוט).

הגדרת האפליקציה לטירגוט רמת API עדכנית מבטיחה שהמשתמשים יוכלו ליהנות מהשיפורים האלה, ושהאפליקציה עדיין תוכל לפעול בגרסאות Android ישנות יותר. בנוסף, טירגוט רמת API עדכנית מאפשר לאפליקציה לנצל את התכונות האחרונות של הפלטפורמה כדי לספק חוויה נהדרת למשתמשים. בנוסף, החל מ-Android 10 (רמת API ‏29), משתמשים רואים אזהרה כשהם מפעילים אפליקציה בפעם הראשונה אם האפליקציה מטרגטת את Android 5.1 (רמת API ‏22) או גרסאות קודמות.

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

מעבר מ-Android 12 ומגרסאות חדשות יותר (רמת API‏ 31) לגרסה עדכנית יותר

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

מעבר מ-Android 11 (רמת API‏ 30) ל-Android 12 (רמת API‏ 31)

אבטחה והרשאות

חוויית משתמש

  • התראות בהתאמה אישית: התראות עם תצוגות תוכן בהתאמה אישית לא יתפסו יותר את כל אזור ההתראות. במקום זאת, המערכת תחיל תבנית רגילה. התבנית הזו מבטיחה שההתראות המותאמות אישית יקבלו את אותו עיצוב כמו התראות אחרות בכל המצבים. ההתנהגות הזו כמעט זהה להתנהגות של Notification.DecoratedCustomViewStyle.
  • שינויים באימות של Android App Links: כשמשתמשים באימות של Android App Links, צריך לוודא שמסנני ה-Intent כוללים את הקטגוריה BROWSABLE ותומכים בסכימת HTTPS.

ביצועים

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

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

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

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

כאן אפשר לראות את כל השינויים שמשפיעים על אפליקציות שמטרגטות ל-Android 12 (רמת API‏ 31).

מעבר מגרסה נמוכה יותר מ-Android 11 (רמת API‏ 30)

בוחרים את הגרסה של Android שממנה רוצים להעביר את הנתונים:

מעבר ל-Android 5 (רמת API‏ 21)

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

ממשיכים לפי ההוראות שבקטע הבא.

מעבר ל-Android 6 (רמת API‏ 23)

השיקולים הבאים רלוונטיים לאפליקציות שמטרגטות את Android 6.0 ואילך:

  • הרשאות בזמן ריצה

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

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

רשימה מלאה של השינויים שהוכנסו ב-Android 6.0 (רמת API ‏23) מופיעה בדף שינויים בהתנהגות של גרסת הפלטפורמה הזו.

ממשיכים לפי ההוראות שבקטע הבא.

מעבר ל-Android 7 (רמת API‏ 24)

השיקולים הבאים רלוונטיים לאפליקציות שמטרגטות את Android 7.0 ומעלה של הפלטפורמה:

  • נמנום ואפליקציה במצב המתנה

    עיצוב בהתאם להתנהגויות שמתוארות במאמר אופטימיזציה של מצב שינה עמוקה (Doze) ומצב המתנה של האפליקציה, שכולל שינויים מצטברים שהוצגו בכמה גרסאות של הפלטפורמה.

    כשהמכשיר במצב שינה ובמצב המתנה של האפליקציה, המערכת מתנהגת באופן הבא:

  • שינויים בהרשאות

    • המערכת מגבילה את הגישה לספריות פרטיות של אפליקציות.
    • חשיפת file:// URI מחוץ לאפליקציה מפעילה FileUriExposedException. אם אתם צריכים לשתף קבצים מחוץ לאפליקציה, אתם צריכים להטמיע את FileProvider
  • המערכת לא מאפשרת קישור לספריות שאינן NDK.

רשימה מלאה של השינויים שהוכנסו ב-Android 7.0 (רמת API‏ 24) מופיעה בדף שינויים בהתנהגות של גרסת הפלטפורמה הזו.

ממשיכים לפי ההוראות שבקטע הבא.

מעבר ל-Android 8 (רמת API‏ 26)

השיקולים הבאים רלוונטיים לאפליקציות שמטרגטות את Android 8.0 וגרסאות גבוהות יותר של הפלטפורמה:

רשימה מלאה של השינויים שהוכנסו ב-Android 8.0 (רמת API‏ 26) מופיעה בדף שינויים בהתנהגות של גרסת הפלטפורמה הזו.

מעבר מ-Android 8‏ (API 26) ל-Android 9‏ (API 28)

רשימה מלאה של השינויים שהוצגו ב-Android 9.0 (רמת API‏ 28) מופיעה במאמר בנושא שינויים בהתנהגות.

מעבר מ-Android 9 (רמת API‏ 28) ל-Android 10 (רמת API‏ 29)

מעבר מ-Android 10 (רמת API‏ 29) ל-Android 11 (רמת API‏ 30)

רשימה מלאה של השינויים שהוכנסו ב-Android 11 (רמת API‏ 30) מופיעה בדף שינויים בהתנהגות.

כדי להמשיך לעדכן ל-API 31, פועלים לפי ההוראות בקטע הקודם.

מודרניזציה של האפליקציות

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

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

בדיקה ועדכון של ערכות ה-SDK והספריות

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

בנוסף, חשוב לדעת שtargetSdkVersion של האפליקציה או המשחק שלך עשוי להגביל את הגישה לספריות פרטיות של פלטפורמת Android. פרטים נוספים זמינים במאמר NDK Apps Linking to Platform Libraries.

כדאי גם לבדוק אם יש הגבלות בגרסה של ספריית התמיכה של Android שבה אתם משתמשים. כמו תמיד, אתם צריכים לוודא שיש תאימות בין הגרסה הראשית של ספריית התמיכה של Android לבין compileSdkVersion של האפליקציה.

מומלץ לבחור targetSdkVersion שקטן או שווה לגרסה הראשית של Support Library. מומלץ לעדכן לספריית תמיכה תואמת עדכנית כדי ליהנות מהתכונות העדכניות של התאימות ומהתיקונים של הבאגים.

בדיקת האפליקציה

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

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

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

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

  • מטפל בשיתוף קבצים עם אפליקציות אחרות – בודק כל תרחיש שימוש שבו נתוני קבצים משותפים עם אפליקציה אחרת (גם אם מדובר באפליקציה אחרת של אותו מפתח)

    • בודקים שהתוכן גלוי באפליקציה השנייה ולא גורם לקריסות.

מידע נוסף

הצטרפות לקבלת אימיילים ב-Google Play Console כדי שנוכל לשלוח לכם עדכונים והודעות חשובים מ-Android ומ-Google Play, כולל הניוזלטר החודשי שלנו לשותפים.