מידע על קובצי 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. בנוסף, במסגרת חתימת אפליקציה ב-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 כשאתם יוצרים את האפליקציה לחנויות אפליקציות אחרות.
- אתם יכולים להשתמש במפתח שנוצר על ידי Google עבור חתימת אפליקציה ב-Play, ואז להוריד מ-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 הוא 500MB. כלומר, מערכת Google Play תיצור קודם את מודול הבסיס, ואז את כל המודולים הנוספים של התכונות או את חבילות הנכסים מתוך קובץ ה-AAB. בשלב הבא, מערכת Google Play בודקת שהגודל המצטבר המקסימלי של ההורדה הדחוסה שכל מכשיר בודד מקבל לא עולה על 4GB.
האם Google Play תומך בקובצי הרחבות (OBB) עבור קובצי AAB?
לא, חנות Google Play לא תומכת בקובצי הרחבה ל-AAB. קובצי הרחבה (OBB) הם פתרון מדור קודם שספציפי ל-Google Play לפרסום אפליקציות ומשחקים גדולים באמצעות קובצי APK. יש חלופות של Google ושל צד שלישי לקובצי AAB שגדולים מ-500MB.
איך מפרסמים ב-Google Play אפליקציה או משחק שגודלם גדול מ-500MB?
אפליקציות ומשחקים גדולים שמשתמשים ב-AAB יכולים להשתמש בשירותי ההפצה של Play, כמו Play Asset Delivery או Play Feature Delivery, כדי לחרוג ממגבלת הגודל של 500MB, או להשתמש ברשתות להעברת תוכן של צד שלישי.
אילו יתרונות יש ל-Play Asset Delivery בהשוואה לקובצי הרחבה (OBB)?
ב-Google Play, קובצי APK דרשו קובצי הרחבה נפרדים (OBB) כדי לספק משאבים נוספים למשתמשים. עם זאת, מכיוון שקבצי OBB לא נחתמו והם מאוחסנים באחסון החיצוני של האפליקציה, הם לא מאובטחים במיוחד. באמצעות Play Asset Delivery (PAD), אפשר לפרסם משחקים בגודל של יותר מ-500MB כקובץ AAB אחד בחנות Play, במקום להשתמש בקובצי OBB. בנוסף לתהליך פרסום חלק יותר ולמצבי מסירה גמישים, 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 מציעות למפתחים שירותים משלהן.