Android-фрагментация для мобильной игры — что ломают MIUI, One UI, EMUI и battery savers Oppo/Vivo
«На Pixel работает, на Xiaomi падает, на Samsung другие баги, на Huawei вообще нет Google Play — что мы тестируем?» — типичный разговор в команде мобильной игры в 2026. Android-фрагментация в 2026 не «исчезла со временем», как обещали — стала хуже. OEM-моды ушли ещё дальше от AOSP, у каждого свои aggressive battery savers, кастомные permissions, отдельные нотификационные стеки.
Этот гайд — что именно ломается в мобильной игре на топ-6 OEM (Xiaomi, Samsung, Huawei, Oppo, Vivo, OnePlus), как тестировать без покупки 30 устройств, и что обязательно класть в bug-репорт с Android-фрагментацией. Базовый референс по «кто кого убивает» — community-база dontkillmyapp.com.
Почему фрагментация в 2026 хуже, чем в 2018
- OEM-моды стали ещё дальше от AOSP. MIUI на Android 14 имеет более 200 кастомизаций, ColorOS — около 150.
- Aggressive battery savers — стандарт у всех кроме Pixel и Motorola. Killing apps в фоне через 30–60 секунд — типичное поведение.
- Huawei после санкций — отдельная экосистема: HarmonyOS NEXT, HMS вместо GMS, AppGallery вместо Play. Это не «Android с другим лаунчером», это другой стек.
- В Китае Android-устройства идут без Google Services вообще — отдельный QA-фронт для команд, ориентированных на CN-рынок.
- Foldable, dual-screen, под-экранные камеры — новые форм-факторы добавляют визуальные регрессии.
Большая шестёрка OEM и их специфические проблемы
Xiaomi MIUI / HyperOS
- Autostart permission — отдельное разрешение «дать приложению запускаться в фоне». По умолчанию OFF. Без него FCM-пуши не доходят, background music обрывается. Тест: Settings → Apps → Permissions → Autostart → проверь что для твоей игры on.
- Background restrictions — даже с autostart MIUI убивает фоновые процессы через 30 секунд, если приложение не в whitelist’е Memory & Battery.
- MIUI Optimization — флаг в Developer Options. Включён по умолчанию, агрессивно убивает background. Часть багов воспроизводится только когда он включён.
- Notification quirks — Notification channels работают, но MIUI добавляет свою notification importance, которая может перетереть Android-уровень.
- Game Turbo — MIUI меняет CPU governor и memory allocation для игр. Может ломать perf-тесты, потому что в Turbo всё быстрее, без Turbo — нет.
Samsung One UI
- Device Care → Sleep apps — Samsung автоматически переводит «редко используемые» apps в Deep Sleep, прекращает фоновые задачи. Проблема для daily-engagement игр и push-уведомлений.
- Edge Panel — конфликтует с edge-gestures игры (отрытое меню, ползунок громкости). Тестируй с включённым/выключенным Edge Panel.
- S Pen — на Note/Ultra-устройствах S Pen генерирует hover/click события. Игра должна корректно обрабатывать air-gestures и hover-state.
- Game Booster — Samsung-аналог Game Turbo. Аналогичные perf-эффекты, плюс автоматические DnD.
- Folding (Z Fold/Flip) — multi-window, app continuity при разворачивании, разные resolutions внутри и снаружи.
Huawei EMUI / HarmonyOS NEXT
- Нет Google Mobile Services — FCM не работает. Используй HMS Push Kit. HMS docs. Это значит две интеграции, два набора тестов.
- AppGallery вместо Play — другой биллинг, другая review-процедура. IAP-тесты надо повторять полностью.
- App Twin — Huawei умеет клонировать приложение для второго аккаунта. Игра должна работать в двух экземплярах одновременно (отдельные save-файлы, отдельные logins).
- HarmonyOS NEXT (с 2024) — это уже не Android. Apps могут не запускаться вообще, требуется отдельный билд под ArkTS. Если CN-рынок важен — отдельный QA-track.
Oppo ColorOS / Vivo OriginOS
- Самый агрессивный battery saver на рынке. По данным dontkillmyapp.com — убивают apps быстрее, чем Xiaomi, и без явного permission «Allow background activity» вообще ничего в фоне не работает.
- ColorOS Game Space — аналог Game Turbo, кастомные shortcuts (запись экрана, screenshot game-mode).
- Не-стандартные системные диалоги — Oppo/Vivo любят показывать кастомные popup’ы поверх системных. Тестируй permission flow с реальным OEM-диалогом, не AOSP.
- Realme — ColorOS-based, поэтому те же проблемы. Но на budget-устройствах добавляется проблема памяти (3-4 GB RAM).
OnePlus OxygenOS (после слияния с Oppo)
- В 2021–2023 OxygenOS пере-базировался на ColorOS code. Теперь практически клон Oppo с другим UI.
- Все проблемы ColorOS наследуются: aggressive battery, custom permissions.
- Старые OnePlus (5T, 6, 7) на оригинальном OxygenOS — отдельный edge case, всё ещё в обращении.
Что именно ломается в мобильной игре
1. Push-уведомления
FCM по умолчанию работает только если у приложения есть autostart permission. На Xiaomi/Oppo/Vivo пользователь обычно её не давал. Результат — push’и не доходят, daily retention падает. На Huawei FCM не работает в принципе — нужна HMS Push Kit. См. Android Notification Channels — но OEM могут переопределять importance.
2. Background music и audio
Игра свернулась — должна продолжать играть фоновая музыка (если включено в settings) или корректно paused. На OEM с aggressive battery саундтрек обрывается через 30–60 секунд, и при возврате не возобновляется. Тестируй: свернуть → 2 минуты → развернуть.
3. Long-running игры и thermal throttling
MIUI Game Turbo, Samsung Game Booster, Vivo Ultra Game Mode — все они меняют CPU/GPU governor. С Turbo — игра летает, без Turbo (например, в фоне у Vivo) — fps падает в 2–3 раза. Регресс-тесты perf должны идти в обоих режимах.
4. In-app purchase — другой биллинг на Huawei
Google Play Billing работает только если установлен Play Store. На Huawei нужен AppGallery billing. Это две параллельных интеграции, два набора receipt-validation на backend, два UX-флоу для теста.
5. Permission UX
MIUI требует и runtime permission (Android-стандарт), и MIUI-уровневый autostart. Vivo требует runtime + «Allow background activity» в отдельных Battery-settings. Туториал «разрешите доступ» в игре должен учитывать оба уровня, иначе пользователь даёт runtime, а фоновые задачи всё равно не работают.
6. Deep links и shortcuts
На Xiaomi есть «MIUI App Shortcuts», которые по-другому реагируют на adaptive icons. На Samsung Edge Panel может перехватить deep link. Тестируй открытие игры из push, из shortcut, из ссылки в браузере, из шары в мессенджере — на каждом OEM.
7. Foldable / Dual-screen
Galaxy Z Fold / Flip: игра должна корректно реагировать на configuration change при разворачивании. Сохранять состояние боя, ре-инициализировать UI под новую resolution. Multi-window поверх игры — не должно ронять gameplay.
Стратегия тестирования без покупки 30 устройств
Минимальный набор реального железа в QA-лабе
- Pixel (свежий) — baseline AOSP.
- Samsung Galaxy (свежий flagship + 2-3-летний midrange) — One UI quirks.
- Xiaomi (свежий + budget Redmi) — MIUI/HyperOS quirks.
- Huawei (без GMS) — отдельный регресс HMS-интеграции.
- Oppo или Vivo (budget) — aggressive battery saver, низкая RAM.
- OnePlus (свежий) — OxygenOS на ColorOS-основе.
- Foldable (Z Fold или Z Flip, или Pixel Fold) — для конфигурации с разворачиванием.
Это 7 устройств. Минимум для команды с EU/global-рынком. Для CN-фокуса добавь больше Vivo и Oppo.
Cloud device farms
- Firebase Test Lab (firebase.google.com/docs/test-lab) — устройств немного, но реальные. Бесплатный tier для smoke.
- BrowserStack App Live (browserstack.com/app-live) — 3000+ реальных устройств, manual session.
- Sauce Labs Real Device Cloud — похоже на BrowserStack, плюс integration с Appium.
- AWS Device Farm — дешевле в Amazon-экосистеме, меньше китайских устройств.
- Kobiton, Headspin — нишевые, могут иметь редкие OEM.
Что важно: cloud-farms часто не имеют свежих китайских устройств с реальными OEM-моди. Для CN-релиза без локального QA-лаба не обойтись.
Что НЕ заменяет реальные устройства
- Локальные эмуляторы (AVD) — показывают AOSP behavior, не OEM quirks. MIUI Battery Saver на эмуляторе не воспроизведёшь.
- Genymotion — лучше AVD по UI, но всё ещё не настоящий MIUI.
- BlueStacks / NoxPlayer — Android на десктопе, для геймплея ок, для системных багов — нет.
Чек-лист тестирования Android-фрагментации
- Push приходит на Xiaomi с autostart OFF и autostart ON.
- Push приходит на Huawei через HMS Push Kit (отдельный билд / интеграция).
- Background music продолжается ≥ 5 минут после сворачивания на Oppo / Vivo / Xiaomi.
- Game perf не падает >20% между Game Turbo ON / OFF (Xiaomi, Samsung, Oppo).
- IAP проходит на Google Play Billing (все устройства) И AppGallery Billing (Huawei).
- Permission tutorial учитывает MIUI Autostart и Vivo Allow Background.
- Deep links открывают игру из push, browser, shortcut, share — на всех 6 OEM.
- На foldable: разворачивание сохраняет состояние бой/уровень, ре-инициализирует UI без крашей.
- На budget-Realme/Redmi с 3-4 GB RAM: игра не падает на низкой памяти, не убивается OOM-killer’ом.
- Push notification channels настроены и работают на Android 8+ на всех OEM.
- Notification importance на MIUI не понижается до Low автоматически.
- Bug-репорт содержит OEM-имя + OS-версия + OS-skin build (MIUI 14.0.5, One UI 6.1) + autostart/battery state.
Что обязательно в bug-репорте про Android
- Не «Android 14», а
Android 14, MIUI 14.0.5, HyperOS 1.0.4.0.UMQCNXM. - Состояние MIUI Optimization / Game Turbo / Battery Saver на момент бага.
- Autostart permission state для приложения.
- RAM устройства + свободная RAM в момент бага (важно для budget-устройств).
- Регион (CN-устройства могут вести себя иначе из-за регуляторных требований).
Android-фрагментация — это не «проблема будущего», это операционная реальность 2026 года. Команды, которые тестируют только на Pixel или эмуляторах, релизятся вслепую на 70% мирового Android-рынка. Минимум 6 реальных OEM в QA-лабе + cloud-farm для долгого хвоста — это базовая гигиена для мобильной игры в 2026.