На саміті розробників Google for Games компанія Google представила функцію «грати під час завантаження» для пристроїв Android 12. Ось як це працює.
Сьогодні команда ігор Google розпочала щорічний саміт розробників Google for Games. На саміті Google представила нові інструменти та рішення, які полегшують розробку ігор на ОС Android і Chrome. Але це ще не все. Компанія також представила нову функцію, спрямовану на покращення досвіду доставки ігор користувачам. Ця функція, яка називається «грати під час завантаження», доступна для запущених пристроїв Android 12 або пізнішої версії, і це ефективно полегшує завантаження більших ігор.
Грайте під час завантаження на Android 12
«Грати під час завантаження» — це нова послуга від Google Play, яка «дозволить користувачам увійти в гру за лічені секунди під час гри ресурси завантажуються у фоновому режимі". Google розробив нову функцію "відтворення під час завантаження" з простої причини. "Користувачі хочу почати грати відразу, але оскільки якість гри постійно покращується, їх розмір збільшується, що призводить до довгих, нудних завантажень", пояснює Google. Сама концепція не є новою — консолі Sony PlayStation і Microsoft Xbox пропонують подібну функцію протягом багатьох років — але є донедавна він не був потрібним для Android, оскільки більшість мобільних ігор набагато менші за розмір, ніж консоль або ПК ігри.
Google каже, що функція «грати під час завантаження» доступна для всіх розробників, які публікують програми та ігри Play Store і що після його впровадження ігри «готові відкриватися принаймні вдвічі швидше», ніж раніше. У деяких випадках покращення може бути досить вражаючим, оскільки Google заявляє, що ігри розміром 400 МБ можуть завантажуватися лише за 10 секунд замість кількох хвилин.
Тільки пристрої з останньою версією Android можуть скористатися цією новою функцією, і причина в тому, що ця функція «вбудована в ядро Android 12». Google підтвердив XDA що, під капотом, використовує "грати під час завантаження". Інкрементна файлова система Android, «віртуальна файлова система Linux спеціального призначення, яка дозволяє виконувати програму, поки її двійкові файли та файли ресурсів все ще ліниво завантажуються через мережу».
Хоча функція «грати під час завантаження» відкрита для всіх розробників додатків, вона вимагає, щоб розробник створював свій додаток у форматі Android App Bundle. Це тому, що функція використовує Грайте в Asset Delivery, для якого потрібен формат набору програм. Нові програми, надіслані в Google Play після 1 серпня 2021 року вимагаються використовувати формат Android App Bundle, але деякі розробники їх не влаштовує ця вимога. Якщо вимога App Bundle вас не бентежить, тоді «грати під час завантаження» стане гарною функцією, яка дозволить ще швидше залучити користувачів у цикл гри.
Розробники можуть зареєструватися в бета-програмі «грати під час завантаження» до заповнивши цю форму. Щоб дізнатися більше про нову функцію, перегляньте доповідь «Оновлення простору доставки» на саміті розробників Google for Games 2021.
\r\n https://www.youtube.com/watch? v=cVzD_TwnQDY\r\n
Підтримка інкрементного запуску
Google також заохочує розробників програм запуску додавати підтримку інкрементного, внутрішньої назви «грати під час завантаження», показуючи піктограму обіцянки та індикатор перебігу завантаження на головному екрані під час поступового виконання програми завантажено. Якщо користувач натискає піктограму, але вона ще не готова до запуску, програма запуску має перемістити користувача на цільову сторінку програми в магазині Google Play. Коли частково завантажена програма буде готова до запуску, програма запуску має замінити значок обіцянки на звичайний значок програми, але має відображати індикатор прогресу завантаження, що відображає стан завантаження додаток Натискання піктограми програми має запустити програму, а коли завантаження програми завершиться, індикатор прогресу завантаження має бути видалено.
Щоб реалізувати цю функцію, розробники програм запуску повинні використовувати кілька API: PackageInstaller. SessionCallback#onCreated і LauncherApps. Callback#onPackageLoadingProgressChanged або LauncherActivityInfo.getLoadingProgress().
Перегляньте приклад того, як це має виглядати наша попередня стаття про незавершені встановлення програми, де ми помітили, що Google публічно A/B тестує цю функцію для кількох користувачів Pixel Launcher.