Google Play ללא התקנה מאפשר למשתמשים להשתמש באפליקציה בלי להתקין קובצי APK במכשיר. במקום זאת, הם יכולים להתנסות באפליקציה באמצעות הלחצן "רוצה לנסות?" בחנות Google Play או באמצעות כתובת URL שאתם יוצרים. הצורה הזו של הצגת תוכן מאפשרת לכם להגביר את המעורבות באפליקציה בקלות.
אפשר להפעיל תכונה ללא התקנה רק אם מפעילים ללא התקנה גם את המודול הבסיסי של האפליקציה. הסיבה לכך היא שאם משתמש רוצה להתנסות באחד מהמודולים של התכונות באפליקציה שמופעלים באופן מיידי, המכשיר שלו צריך להוריד גם את המודול הבסיסי של האפליקציה בשביל קוד ומשאבים נפוצים. חשוב לזכור שכדי לתמוך ב-Google Play Instant, ההורדה של המודול הבסיסי והתכונה צריכה לעמוד בכמה קריטריונים:
- גודל מקסימלי: הגודל המשולב של המודול הבסיסי של הגרסה ללא התקנה ושל מודול התכונות של הגרסה ללא התקנה לא יכול להיות גדול מ-10MB. מידע נוסף זמין במאמר הפעלת חוויית שימוש מיידית על ידי הקטנת הגודל של האפליקציה או המשחק.
- פעילות ברקע: מודול של גרסה ללא התקנה לא יכול להשתמש בשירותים שפועלים ברקע. בנוסף, מודול כזה לא יכול לשלוח התראות כשהוא פועל ברקע.
אם אתם יוצרים מודול של תכונות עם גרסה ללא התקנה באמצעות Android Studio מגרסה 3.5 ואילך, כמו שמתואר בקטע הזה, סביבת הפיתוח המשולבת (IDE) יוצרת באופן אוטומטי גרסה ללא התקנה של מודול הבסיס ושל מודול התכונות, על ידי הכללת הפרטים הבאים במניפסט של כל מודול:
<manifest xmlns:dist="http://schemas.android.com/apk/distribution"
... >
<dist:module dist:instant="true" />
...
בנוסף, כשמורידים ומתקינים את האפליקציה, מודולים של תכונות בגרסה ללא התקנה יורדים ומותקנים באופן אוטומטי עם קובץ ה-APK הבסיסי של האפליקציה. לכן, ה-IDE כולל גם את הדברים הבאים במודול של התכונות של גרסה ללא התקנה.
<dist:module ...>
<dist:delivery>
<dist:install-time />
</dist:delivery>
</dist:module>
המשמעות היא שאם מגדירים את dist:instant="true", אי אפשר לכלול גם את <dist:on-demand />. עם זאת, אתם יכולים לבקש מודולים שמותאמים לגרסה ללא התקנה על פי דרישה בתוך חוויית השימוש בגרסה ללא התקנה באמצעות ספריית הפצת הפיצ'רים ב-Play.
הגדרת מודול חדש למסירה מיידית
כדי להוסיף לפרויקט האפליקציה מודול של תכונות בגרסה ללא התקנה באמצעות Android Studio, פועלים לפי השלבים הבאים:
- אם עדיין לא עשיתם את זה, פותחים את פרויקט האפליקציה ב-IDE.
- בסרגל התפריטים, לוחצים על קובץ > חדש > מודול חדש.
- בתיבת הדו-שיח Create New Module, בוחרים באפשרות Instant Dynamic Feature Module ולוחצים על Next.
בקטע Configure your new module, מבצעים את הפעולות הבאות:
- בתפריט הנפתח, בוחרים את Base application module של פרויקט האפליקציה.
- מציינים שם מודול. ה-IDE משתמש בשם הזה כדי לזהות את המודול כפרויקט משנה של Gradle בקובץ ההגדרות של Gradle. כשיוצרים את ה-App Bundle, Gradle משתמש ברכיב האחרון של שם פרויקט המשנה כדי להוסיף את המאפיין
<manifest split>למניפסט של מודול התכונות. - מציינים את שם החבילה של המודול. כברירת מחדל, Android Studio מציע שם חבילה שמשלב את שם חבילת הבסיס של מודול הבסיס ואת שם המודול שציינתם בשלב הקודם.
- בוחרים את רמת ה-API המינימלית שהמודול צריך לתמוך בה. הערך הזה צריך להיות זהה לערך של מודול הבסיס.
מציינים את שם המודול (עד 50 תווים). הפלטפורמה משתמשת בשם הזה כדי לזהות את המודול למשתמשים. לכן, המודול הבסיסי של האפליקציה חייב לכלול את שם המודול כמשאב מחרוזת, שאותו אפשר לתרגם. כשיוצרים את המודול באמצעות Android Studio, סביבת הפיתוח המשולבת (IDE) מוסיפה את משאב המחרוזת למודול הבסיס ומוסיפה את הרשומה הבאה למניפסט של מודול התכונות:
<dist:module ... dist:title="@string/feature_title"> </dist:module>מסמנים את התיבה לצד Fusing אם רוצים שהמודול הזה יהיה זמין למכשירים עם Android מגרסה 4.4 (רמת API 20) ומטה, וייכלל בכמה קובצי APK. Android Studio מוסיף את הקוד הבא למניפסט של המודול כדי לשקף את הבחירה שלכם.
<dist:module> <dist:fusing dist:include="true" /> </dist:module>
לוחצים על סיום.
אחרי ש-Android Studio מסיים ליצור את המודול, בודקים את התוכן שלו בחלונית Project (בסרגל התפריטים בוחרים באפשרות View > Tool Windows > Project). הקוד, המשאבים והארגון שמוגדרים כברירת מחדל צריכים להיות דומים לאלה של מודול האפליקציה הרגיל.
אחרי שמטמיעים תכונה שרוצים להוריד לפי דרישה, צריך לבקש אותה באמצעות ספריית הפצת הפיצ'רים ב-Play.
פריסת האפליקציה
כשמפתחים אפליקציה עם תמיכה במודולים של תכונות, אפשר לפרוס את האפליקציה במכשיר מחובר כרגיל. כדי לעשות את זה, בוחרים באפשרות Run > Run (הפעלה > הפעלה) בסרגל התפריטים (או לוחצים על Run (הפעלה)
בסרגל הכלים).
אם פרויקט האפליקציה כולל מודול אחד או יותר של תכונות, אתם יכולים לבחור אילו תכונות לכלול כשאתם פורסים את האפליקציה. כדי לעשות את זה, אתם צריכים לשנות את הגדרת ההרצה/ניפוי הבאגים הקיימת באופן הבא:
- בסרגל התפריטים, לוחצים על Run > Edit Configurations.
- בחלונית השמאלית של תיבת הדו-שיח Run/Debug Configurations, בוחרים את ההגדרה הרצויה של אפליקציית Android.
- בקטע תכונות דינמיות לפריסה בכרטיסייה כללי, מסמנים את התיבה לצד כל מודול של תכונות שרוצים לכלול בפריסת האפליקציה.
- לוחצים על אישור.
כברירת מחדל, Android Studio לא פורס את המודולים של הגרסה ללא התקנה כחוויית שימוש ללא התקנה, ולא משתמש בחבילות של אפליקציות כדי לפרוס את האפליקציה. במקום זאת, סביבת הפיתוח המשולבת (IDE) יוצרת ומתקינה במכשיר קובצי APK שעברו אופטימיזציה למהירות הפריסה, ולא לגודל ה-APK. כדי להגדיר את Android Studio כך שיבנה ויפרוס קובצי APK וחוויית שימוש מיידית מ-App Bundle, צריך לשנות את הגדרת ההרצה/ניפוי הבאגים.