Unity - Керівництво: Підтримка поділу додатки (.OBB)
Можливості, які не підтримуються в Unity Android
Написання коду для Android
In the Android Publishing Settings you'll find the option to split the application binary (.apk) into expansion files (.apk + .obb). To find it, go to Edit -> Project Settings -> Player. Then select the Android button, and expand the Publishing Settings section. The setting is a checkbox marked "Split Application Binary".
The Split Application Binary publish option for Android
Цей механізм необхідний тільки при публікації в магазин Google Play, якщо додаток більше 50 МБ. Див. http://developer.android.com/guide/google/play/expansion-files.html для додаткової інформації про файлах розширення APK (APK Expansion Files).
Коли включена опція Split Application Binary (розбивати додаток), виконуваний файл програвача і дані будуть відокремлені один від одного, в результаті чого згенерує .apk (основний виконуваний файл), в якому буде міститися тільки виконуваний (Java і нативний) код (близько 10 МБ ), все без винятку скрипти / плагіни і дані для першої сцени. Все інше (всі додаткові сцени, ресурси, потокові Ассет ...) буде серіалізовані окремо в файл розширення APK (.obb).
- При запуску .apk, побудованого з включеною опцією Split Application Binary, додаток буде перевіряти, чи є у нього доступ до .obb файлу з поточного розташування на sd карті. Розташування пояснено в документації з розширення APK (Apk Expansion) від Google.
- Якщо не вдається знайти файл розширення (.obb), тоді буде можливий доступ тільки до першого рівня (тому що інші дані знаходяться в .obb).
- Перший рівень у додатку потрібно, щоб отримати доступ до .obb файлу з sd карти, до того як додаток зможе обробляти і завантажувати наступні сцени / дані.
- Після того як знайдеться .obb, Application.dataPath переключиться з поточного шляху до .apk на новий шлях до .obb. У такому випадку немає необхідності в скачуванні .obb.
- Вміст .obb ніколи не використовується вручну. Завжди ставитеся до зв'язці .apk + .obb як до унікального бандл, так само як ви ставитеся до однієї великої .apk.
Опція Split Application Binary - не єдиний спосіб поділу .apk на .apk / .obb (інші способи це зробити включають в себе сторонні плагіни, Ассет бандли і т.д.), але це єдиний офіційно підтримуваний автоматичний механізм поділу.
Завантаження файлу розширення (.OBB)
- Файл розширення (.obb) можна (але не обов'язково, як мінімум в поточній формі) розміщувати на серверах Google Play.
- Якщо файл .obb опублікований в Google Play разом з .apk, ви повинні включити в збірку код для скачування .obb (для тих пристроїв, які цього вимагають і для випадків втрати .obb).
- В Asset Store є відповідний плагін (адаптований із прикладів розширення Apk від Google), який зробить це за вас. Він завантажить .obb файл і збереже його в правильному місці на sd карті. Див. http://u3d.as/content/unity-technologies/google-play-obb-downloader/2Qq
- При використанні плагіна з Asset Store, вам необхідно викликати цей плагін з першої сцени (з описаних вище причин).
- Asset Store плагін можна також використовувати для скачування .obb файлів, створених будь-яким іншим способом (одиночний файл даних, zip архів Ассет бандлів і т.д.) - важко сказати як саме був створений .obb.
- Для перевірки скачівателя obb, ви повинні залогінитися в android пристрої в правильний акканут google (акканут тестувальника).
Можливості, які не підтримуються в Unity Android
Написання коду для Android