הטמעת נכסים להעברה בענן

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

הכנה

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

תמיד נחוץ

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

מה צריך להיעשות לפני ההשקה

אחרי שהמשחק מתחיל, המשתמש אמור להיות מסוגל לשחק בו באופן מיידי. כדי להשתמש ב-Google Play ללא התקנה, המשתמשים צריכים להיות מסוגלים להתחיל לשחק במשחק תוך פחות מ-15 שניות דרך חיבור LTE או 4G (ראו רשימת המשימות ל-Google Play ללא התקנה). לכן, מומלץ להגביל את כל הורדה משנית אחרי ההשקה לגודל הנדרש בלבד כדי לתמוך בחוויה הראשונית. לדוגמה, הורדה מיידית אחרי ההשקה יכולה לכלול את רמת המשחק הראשונה ואת נכסי המיקום, או כל קוד שנדרש להפעלת הדקות הראשונות של משחק.

נדרשת בהמשך

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

תמיכה במנועים

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

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

Play Feature Delivery (באמצעות חבילת אפליקציות)

אם מפרסמים את האפליקציה כחבילת אפליקציות (זוהי השיטה המועדפת), אפשר להשתמש במודולים של תכונות כדי לאחזר משאבים נוספים מעבר לקובץ ה-APK הבסיסי. באפליקציה המיידית, כל מודול תכונה צריך להגדיר את dist:instant="true" במניפסט. לא מומלץ להשתמש במאפיין dist:on-demand. הוא משמש בעיקר למודולים על פי דרישה בחבילות APK מותקנות. בנוסף, כל מודול של תכונה צריך להיות בגודל של עד 15MB, ללא קשר לכך שהמודול מכיל קוד או לא. אם כל מודול לא יעמוד במגבלה הזו, לא תוכלו לפרסם אותו בגרסת אלפא או בגרסת ייצור. אחרי שתגדירו את הספרייה בצורה נכונה, תוכלו לאחזר מודולים של תכונות בזמן הריצה באמצעות ספריית PlayCore.

Cocos Creator

Cocos תומכת בהעברת נכסים לענן מאז גרסה v2.0.4. המערכת של Cocos מורידת נכסים על פי דרישה, ומרינדרת placeholders אם הנכסים לא יורדים בזמן. ‏Cocos יוצר קובצי נכסים שצריך לארח בשירות אונליין כלשהו, כי ‏Cocos לא מספק שירות כזה בעצמו.

Unity

יש תמיכה בהעברה בענן בUnity Google Play Instant Plugin לגרסאות Unity 5.6,‏ 2017.4 או 2018.2. בגרסאות מאוחרות יותר של Unity יש יתרונות נוספים לניתוק הרכיבים מהמנוע, ולכן כדאי לעבור אליהן כדי לפנות מקום. נכסי הענן של Unity מתארחים בקובצי AssetBundle שנוצרים על ידי Unity. העלאת הקבצים האלה לשרת בענן מאפשרת העברת נכסים בענן, כי ל-Unity יש תמיכה מובנית בהורדת חבילות נכסים.

מנועים אחרים

בין אם אתם משתמשים במנוע מותאם אישית או באוסף של ספריות מקוריות, יכול להיות שהפתרון שבחרתם תומך בהורדת נכסים לענן כברירת מחדל. אם יש לכם מספיק נכסים שצריך להוריד מהענן, תצטרכו לכתוב קוד או לשלב דרך להורדת נכסים על פי דרישה במשחק. אירוח ב-Firebase או ממשקי ה-API של Firebase Cloud Storage הם מקומות טובים להתחיל בהם. במנועי חיפוש מסוימים יש אפשרות לאחזור פשוט של קובצי HTTPS, שעשויה גם היא לענות על הצרכים שלכם.

אירוח נכסים

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