שאלות נפוצות על Android App Bundle

מידע על קובצי Android App Bundle

מה זה קובץ Android App Bundle‏ (AAB)?

קובץ Android App Bundle‏ (AAB) הושק בשנת 2018 והוא פורמט פרסום ל-Android שנתמך על ידי Google Play וחנויות אפליקציות אחרות, ועל ידי כלי בנייה כמו Android Studio,‏ Bazel,‏ Buck,‏ Cocos Creator,‏ Gradle,‏ Unity ו-Unreal.

מה ההבדל בין קובצי AAB לבין קובצי APK?

חבילות אפליקציות מיועדות רק לפרסום, ואי אפשר להתקין אותן במכשירי Android. חבילת Android‏ (APK) היא פורמט ההתקנה וההפעלה של אפליקציות ב-Android. מפיץ צריך לעבד חבילות App Bundle לקובצי APK כדי שיהיה אפשר להתקין אותן במכשירים.

האם פורמט AAB הוא פורמט קנייני שאפשר להשתמש בו רק ב-Google Play?

לא, קובץ ה-AAB הוא לא קנייני. קובץ ה-AAB הוא קוד פתוח, ולכן כל חנות אפליקציות יכולה לתמוך בו. חבילות נתמכות על ידי Google Play וכמה חנויות אפליקציות אחרות.

האם יצירת קובצי AAB מונעת ממני לפרסם בחנויות אפליקציות אחרות?

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

כמה עבודה נדרשת כדי להשתמש ב-AAB?

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

האם יש מפתחים שכבר משתמשים ב-AAB?

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

האם קובץ ה-AAB מונע מהמשתמשים להתקין אפליקציות ממקור לא ידוע?

לא, קובצי AAB לא מונעים מהמשתמשים להתקין קובצי APK מכל מקור. מכיוון ש-AAB הוא רק פורמט פרסום, הוא לא משנה את אופן הפעולה של פלטפורמת Android.

אם מפתח משתמש ב-AAB כדי לספק קובצי APK שעברו אופטימיזציה, האם זה אומר שמשתמשים שמשתפים את קובצי ה-APK האלה עלולים להיתקל בבעיות?

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

האם אפשר לפרסם בכמה חנויות אפליקציות?

כן, אפשר לפרסם בכמה חנויות אפליקציות, בין אם משתמשים ב-AAB ובין אם לא. אתם יכולים לפרסם קובצי AAB ב-Google Play ובחנויות אפליקציות אחרות שתומכות ב-AAB, ובמקביל לפרסם קובצי APK בחנויות אפליקציות אחרות או באתרים שלא תומכים ב-AAB.

האם הדרישה ל-AAB חלה על אפליקציות פרטיות שפורסמו ב-Google Play לארגונים?

כן, אפליקציות פרטיות שפורסמו ב-Google Play לארגונים מ-Play Console חייבות לפרסם חבילות AAB.

עדיין יש תמיכה בפרסום קובצי APK באמצעות מסגרת iframe של Managed Play.

מידע על חתימת אפליקציה ב-Play

מהי חתימת אפליקציה ב-Play?

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

למה Google השיקה את חתימת האפליקציות ב-Play?

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

איך Google מבטיחה את האבטחה של חתימת אפליקציות ב-Play?

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

האם אפשר לבחור את חתימת האפליקציה שבה Play משתמשת עבור האפליקציה שלי?

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

אני רוצה להשתמש באותה חתימת אפליקציה ב-Play ובחנויות אפליקציות אחרות. האם עדיין אפשר לעשות את זה?

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

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

האם אפשר להשתמש בחתימת אפליקציה ב-Play באפליקציה שנוצרה לפני אוגוסט 2021 בלי לספק עותק של מפתח חתימת האפליקציה?

כן, חתימת אפליקציה ב-Play תומכת באפשרות 'שדרוג מפתח' לאפליקציות שנוצרו לפני אוגוסט 2021. כך האפליקציה תוכל להתחיל להשתמש בחתימת האפליקציה ב-Play עם חתימת אפליקציה חדשה. עם זאת, כדי להשתמש באפשרות הזו, אחרי השדרוג תצטרכו להעלות שני דברים בכל גרסה: קובץ AAB וקובץ APK מדור קודם שחתום באמצעות חתימת האפליקציה הישנה. מערכת Play תשתמש בקובצי ה-AAB כדי ליצור חבילות APK החתומות על ידי המפתח המשודרג להתקנות חדשות ולעדכונים שלהן. במקביל, מערכת Play תשתמש בחבילות ה-APK הקודמות לעדכוני אפליקציות למשתמשים שכבר התקינו את האפליקציה. עם הזמן, ההתקנות הקודמות יעברו למפתח המשודרג (למשל, כשמשתמשים עוברים למכשיר נייד חדש).

האם יש דרך להשתמש באותו מפתח לחתימת אפליקציה באפליקציות שנוצרו לפני אוגוסט 2021 ובאפליקציות שנוצרו אחרי אוגוסט 2021?

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

האם אפשר לשנות את מפתח חתימת האפליקציה שמשמש את חתימת אפליקציה ב-Play?

כן, אפשר לשנות את המפתח של האפליקציה על ידי שליחת בקשה לשדרוג המפתח ב-Play Console.

איך אפשר לבדוק ש-Google Play לא ביצע שינויים לא צפויים בקוד שלי?

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

איך פועל מנגנון שקיפות הקוד בחבילות App Bundle?

מנגנון של שקיפות קוד הוא תכונה אופציונלית שמאפשרת לחנות אפליקציות שמפיצה את האפליקציה שלכם לתת דין וחשבון על הקוד שהיא מספקת. כדי להשתמש במנגנון של שקיפות קוד, משך זמן של תהליך build יוצרים באפליקציה קובץ שקיפות קוד שמייצג את הקוד (במיוחד, זהו קובץ שמכיל גיבובים של קוד האפליקציה). אתם חותמים עליו באמצעות מפתח שקיפות קוד פרטי משלכם, שרק לכם יש גישה אליו. אתם אף פעם לא צריכים לספק ל-Google את מפתח השקיפות של הקוד. לאחר מכן, במכשיר, אפשר לבדוק קובץ APK מותקן ולוודא שקובץ השקיפות של הקוד שחתמתם עליו עדיין תואם לקוד של קובץ ה-APK. כך אתם יכולים להיות בטוחים שגם אם חבילת ה-APK עצמה נחתמה מחדש במהלך ההפצה, הקוד שאומת על ידי מנגנון של שקיפות קוד לא שונה. אם יש אי-התאמה, זה מוכיח שהקוד השתנה במהלך ההפצה. מנגנון של שקיפות קוד לא מחליף את חתימות ה-APK והוא לא חלק מפלטפורמת Android.

פרסום של אפליקציות ומשחקים גדולים ב-Google Play

מהן מגבלות הגודל של אפליקציות ב-Google Play כשמשתמשים ב-AAB?

הגודל המקסימלי להורדת קובץ דחוס של מודול בסיסי שנוצר מקובץ AAB הוא 200MB. כלומר, Google Play ייצור קודם את מודול הבסיס, ואז את כל המודולים הנוספים של התכונות או חבילות הנכסים מתוך קובץ ה-AAB. בשלב הבא, מערכת Google Play בודקת שהגודל המקסימלי הכולל של ההורדה הדחוסה שכל מכשיר מקבל לא עולה על 4GB.

האם Google Play תומך בקובצי הרחבות (OBB) עבור חבילות AAB?

לא, חנות Google Play לא תומכת בקובצי הרחבה ל-AAB. קובצי הרחבה (OBB) הם פתרון מדור קודם שספציפי ל-Google Play לפרסום אפליקציות ומשחקים גדולים באמצעות קובצי APK. יש חלופות של Google ושל צד שלישי לקובצי AAB שגדולים מ-200MB.

איך מפרסמים ב-Google Play אפליקציה או משחק בגודל של יותר מ-200MB?

אפליקציות ומשחקים גדולים שמשתמשים ב-AAB יכולים להשתמש בשירותי ההפצה של Play, כמו Play Asset Delivery או הפצת פיצ'רים ב-Play, כדי לחרוג ממגבלת הגודל של 200MB, או להשתמש ברשתות להפצת תוכן של צד שלישי.

אילו יתרונות יש ל-Play Asset Delivery בהשוואה לקובצי הרחבה (OBB)?

ב-Google Play, קובצי APK דרשו קובצי הרחבה נפרדים (OBB) כדי לספק משאבים נוספים למשתמשים. עם זאת, מכיוון שקבצי OBB לא נחתמו והם מאוחסנים באחסון החיצוני של האפליקציה, הם לא מאובטחים במיוחד. באמצעות Play Asset Delivery‏ (PAD), משחקים בגודל של יותר מ-200MB יכולים להחליף קובצי OBB על ידי פרסום המשחק כולו כקובץ AAB אחד בחנות Play. בנוסף לתהליך פרסום חלק יותר ולמצבי מסירה גמישים, PAD מאפשר לעדכונים לתפוס פחות נפח אחסון במכשיר. כתוצאה מכך, הוא יכול להגדיל את שיעורי ההתקנה. לבסוף, מכיוון ש-ASTC נתמך עכשיו בכ-80% מהמכשירים, התכונה של PAD לטירגוט פורמט דחיסת טקסטורה מאפשרת להציג ASTC במכשירים שתומכים בו. אתם יכולים לטרגט את מגוון המכשירים הרחב ביותר תוך שימוש יעיל בחומרה הזמינה ובאחסון המכשיר.

תכונות המסירה של Google Play שנפתחות על ידי קובצי AAB

אילו דוגמאות יש לתכונות חדשות ש-Play מציע למפתחים שמשתמשים ב-AAB?

חנויות אפליקציות כמו Google Play מעבדות קובצי AAB לקובצי APK שאפשר להתקין. האחריות על קובצי ה-APK מאפשרת לנו להציע תכונות ושירותים חדשים שמספקים יתרונות למפתחים ולמשתמשים. ב-Play כבר יש שירותים כאלה, שמפתחים משתמשים בהם באופן נרחב ומעריכים אותם. שתי דוגמאות הן Play Feature Delivery ו-Play Asset Delivery.

מהי הפצת פיצ'רים ב-Play?

אחת התכונות של חבילות App Bundle היא שהן מאפשרות להפריד אפליקציה למודולים מרובים, שנקראים 'מודולים של תכונות'. אחר כך אפשר להעביר את המודולים האלה למשתמשים ולמכשירים באופן דינמי בזמנים שונים (בניגוד לעבר, כשכל התוכן היה מועבר כקובץ אחד בזמן ההתקנה). התכונה 'הפצת תכונות ב-Play' מאפשרת לכם להתאים אישית את המודולים של התכונות שמופצים למכשירים שונים ומתי הם מופצים, עם מצבי הפצה בזמן ההתקנה, הפצה מותנית והפצה לפי דרישה. כך תוכלו להקטין את גודל האפליקציה, מה שיגדיל את מספר ההתקנות, ולהתאים את חוויית השימוש באפליקציה. לדוגמה, אפשר לספק תכונה שמשתמשים בה לעיתים רחוקות, כמו תמיכת לקוחות, לפי דרישה למשתמשים שזקוקים לה, במקום בזמן ההתקנה. כך מקטינים את גודל ההתקנה הראשונית לכל המשתמשים. אפשר גם לספק חוויית שימוש מלאה באפליקציה במכשירים מתקדמים, ולספק חוויית שימוש מצומצמת יותר באפליקציה עם תכונות אופציונליות על פי דרישה במכשירים בסיסיים שיש בהם מגבלות על אחסון נתונים ואחסון במכשיר.

מה זה Play Asset Delivery?

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

האם תכונות המסירה האלה של Play זמינות בחנויות אפליקציות אחרות?

לא, הפצת פיצ'רים ב-Play ו-Play Asset Delivery כוללות אפליקציות ומשחקים שמתקשרים ישירות עם חנות Google Play. השירותים האופציונליים האלה הם דוגמאות לאופן שבו Play מתבדלת מחנויות אפליקציות אחרות ומספקת ערך נוסף ושימושי למפתחים ולמשתמשים ב-Play. חנויות אפליקציות אחרות שמשתמשות בחבילות App Bundle וב-APK מציעות למפתחים שירותים משלהן.