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

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

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

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

אם דרוש לך זמן נוסף כדי לעדכן את האפליקציה, אפשר לבקש הארכה עד 1 בנובמבר 2026. בהמשך השנה תהיה לך אפשרות לגשת לטופסי בקשת הארכה של האפליקציה ב-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: כשמשתמשים באימות של קישורי עומק לאפליקציות ל-Android, צריך לוודא שמסנני ה-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 ולגרסאות מתקדמות יותר של הפלטפורמה:

  • מצב חיסכון בסוללה ואפליקציה במצב המתנה

    צריך לתכנן את האפליקציה בהתאם להתנהגויות שמתוארות במאמר Optimizing for Doze and App Standby (אופטימיזציה למצב חיסכון בסוללה ולאפליקציה במצב המתנה), שכולל שינויים מצטברים שהוצגו בכמה גרסאות של הפלטפורמה.

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

    • הגבלת הגישה לרשת
    • דחיית התראות, סנכרונים ומשימות
    • הגבלת סריקות GPS ו-Wi-Fi
    • מגבילה הודעות בעדיפות רגילה של העברת הודעות בענן ב-Firebase.
  • שינויים בהרשאות

    • המערכת מגבילה את הגישה לספריות הפרטיות של האפליקציה.
    • חשיפת URI של file:// מחוץ לאפליקציה מפעילה 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 עוזרים לכם לפעול לפי השיטות המומלצות, חוסכים לכם את הצורך לכתוב קוד שחוזר על עצמו (boilerplate) ומפשטים משימות מורכבות כדי שתוכלו להתמקד בקוד שחשוב לכם.
  • אתם יכולים להשתמש ב-Kotlin כדי לכתוב אפליקציות טובות יותר, מהר יותר ועם פחות קוד.
  • חשוב לוודא שאתם פועלים בהתאם לדרישות ולשיטות המומלצות בנושא פרטיות.
  • להוסיף לאפליקציות תמיכה בעיצוב כהה.
  • מוסיפים לאפליקציות תמיכה בניווט באמצעות תנועות.
  • מעבירים את האפליקציה מ-Google Cloud Messaging ‏ (GCM) לגרסה העדכנית של העברת הודעות בענן ב-Firebase.
  • להשתמש בניהול חלונות מתקדם.

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

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

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

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

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

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

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

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

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

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

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

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

מידע נוסף

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