קובץ Android App Bundle הוא פורמט פרסום שכולל את כל הקוד והמשאבים המהודרים של האפליקציה, ומעביר את יצירת ה-APK והחתימה שלו ל-Google Play.
Google Play משתמש בקובץ ה-AAB שלכם כדי ליצור ולספק חבילות APK שעברו אופטימיזציה לכל תצורת מכשיר, כך שרק הקוד והמשאבים שנדרשים למכשיר ספציפי יורדו כדי להריץ את האפליקציה. אתם כבר לא צריכים ליצור, לחתום ולנהל כמה חבילות APK כדי לבצע אופטימיזציה של התמיכה במכשירים שונים, והמשתמשים מקבלים הורדות קטנות יותר שעברו אופטימיזציה.
ברוב פרויקטי האפליקציות לא נדרש מאמץ רב כדי ליצור קובצי App Bundle שתומכים בהצגת קובצי APK שעברו אופטימיזציה. אם כבר ארגנתם את הקוד ואת המשאבים של האפליקציה לפי מוסכמות מקובלות, יצרתם קובצי Android App Bundle חתומים באמצעות Android Studio או באמצעות שורת הפקודה, והעליתם אותם ל-Google Play, אז היתרון של אספקת חבילות APK שעברו אופטימיזציה יתקבל באופן אוטומטי.
כשמשתמשים בפורמט Android App Bundle כדי לפרסם את האפליקציה, אפשר גם להשתמש ב-Play Feature Delivery, שמאפשרת להוסיף מודולים של תכונות לפרויקט האפליקציה. המודולים האלה מכילים תכונות ומשאבים שנכללים באפליקציה רק על סמך תנאים שאתם מציינים, או שהם זמינים להורדה בשלב מאוחר יותר בזמן הריצה באמצעות ספריית הליבה של Play.
מפתחי משחקים שמפרסמים את האפליקציות שלהם באמצעות קובצי App Bundle יכולים להשתמש ב-Play Asset Delivery: הפתרון של Google Play להעברת כמויות גדולות של נכסי משחק, שמציע למפתחים שיטות העברה גמישות וביצועים גבוהים.
בסרטון הבא מוסבר למה כדאי לפרסם את האפליקציה באמצעות קובצי Android App Bundle.
מגבלת גודל ההורדה הדחוס
פרסום באמצעות Android App Bundle עוזר למשתמשים להתקין את האפליקציה עם ההורדות הקטנות ביותר האפשריות, ומגדיל את גודל ההורדה הדחוס. כלומר, כשמשתמש מוריד את האפליקציה, הגודל הכולל של חבילות ה-APK הדחוסות שנדרשות להתקנת האפליקציה (לדוגמה, חבילת ה-APK הבסיסית + חבילות ה-APK של ההגדרות) לא יכול להיות גדול מ-4 GB. גם הורדות עתידיות, כמו הורדה של מודול של תכונות (וקובצי ה-APK של ההגדרה שלו) על פי דרישה, צריכות לעמוד במגבלת הגודל הזו של הורדה דחוסה. חבילות נכסים לא נכללות במגבלת הגודל הזו, אבל יש להן מגבלות גודל אחרות.
אם מערכת Play Console תזהה שאחד מהקבצים האפשריים להורדה של האפליקציה או של התכונות שלה לפי דרישה גדול יותר ממגבלות הגודל המקסימליות, תוצג שגיאה.
חשוב לזכור שקובצי Android App Bundle לא תומכים בקובצי הרחבה של APK (*.obb). לכן, אם אתם נתקלים בשגיאה הזו כשאתם מפרסמים את קובץ ה-AAB, אתם יכולים להשתמש באחד ממקורות המידע הבאים כדי להקטין את הגודל של חבילות ה-APK הדחוסות להורדה:
- חשוב להפעיל את כל חבילות ה-APK של ההגדרות על ידי הגדרת
enableSplit = trueלכל סוג של חבילת APK של הגדרות. כך המשתמשים מורידים רק את הקוד והמשאבים שהם צריכים כדי להפעיל את האפליקציה במכשיר שלהם. - חשוב לכווץ את האפליקציה על ידי הסרת קוד ומשאבים שלא נמצאים בשימוש.
- כדאי לפעול לפי השיטות המומלצות כדי להקטין עוד יותר את נפח האפליקציה.
- כדאי להמיר תכונות שרק חלק מהמשתמשים משתמשים בהן למודולים של תכונות שהאפליקציה יכולה להוריד מאוחר יותר, לפי דרישה. חשוב לזכור: יכול להיות שתצטרכו לבצע שינויים מסוימים באפליקציה, לכן מומלץ לנסות קודם את ההצעות האחרות שמתוארות כאן.
שיקולים נוספים
הבעיות הבאות הן בעיות שאנחנו מודעים להן כשמבצעים build לאפליקציה או מציגים אותה באמצעות Android App Bundles. אם נתקלתם בבעיות שלא מתוארות כאן, אתם יכולים לדווח על באג.
- התקנות חלקיות של אפליקציות שהועברו ממקורות חיצוניים – כלומר, אפליקציות שלא הותקנו באמצעות חנות Google Play וחסרים בהן קובצי APK מפוצלים נדרשים – נכשלות בכל המכשירים שאושרו על ידי Google ובמכשירים עם Android מגרסה 10 (רמת API 29) ומעלה. כשמורידים את האפליקציה דרך חנות Google Play, Google מוודאת שכל הרכיבים הנדרשים של האפליקציה מותקנים.
אם אתם משתמשים בכלים שמשנים באופן דינמי טבלאות של משאבים, יכול להיות שחבילות APK שנוצרו מחבילות אפליקציות יתנהגו באופן לא צפוי. לכן, כשיוצרים קובץ AAB, מומלץ להשבית את הכלים האלה.
אפשר להגדיר תכונות בהגדרת ה-build של מודול תכונות שמתנגשות עם התכונות של מודול הבסיס (או מודולים אחרים). לדוגמה, אפשר להגדיר את
buildTypes.release.debuggable = trueבמודול הבסיסי ולהגדיר אותו ל-falseבמודול של תכונה. קונפליקטים כאלה עלולים לגרום לבעיות בבנייה ובזמן הריצה. חשוב לזכור: כברירת מחדל, מודולים של תכונות מקבלים בירושה חלק מהגדרות הבנייה מהמודול הבסיסי. לכן, חשוב להבין אילו הגדרות כדאי לשמור ואילו כדאי להשמיט בתצורת ה-build של מודול התכונות.
מקורות מידע נוספים
מידע נוסף על קובצי Android App Bundle זמין במקורות המידע הבאים.
פוסטים בבלוגים
- יצירת חבילת האפליקציה הראשונה
- מה המשמעות של פורמט פרסום חדש לעתיד של Android
- תכונות חדשות שיעזרו לכם לפתח את העסק, להשיק אותו ולהרחיב אותו ב-Google Play
- העדכונים האחרונים של קובץ Android App Bundle, כולל API של שפות נוספות
- Patchwork Plaid — A modularization story
- Google Santa Tracker — Moving to an Android App Bundle
- כלים למפתחים ב-Play Console
סרטונים
- כל מה שצריך לדעת על 'חתימת אפליקציה ב-Play'
- יצירת חבילת האפליקציה הראשונה
- חבילות App Bundle: בדיקה באמצעות Bundletool ו-Play Console
- התאמה אישית של תהליך ההפצה באמצעות App Bundle ושיתוף קל של גרסאות build לבדיקה
- כלים חדשים לאופטימיזציה של גודל האפליקציה ולהגדלת מספר ההתקנות ב-Google Play