Проверка соответствия игр требованиям платформ (Compliance)
Submission rejection от Sony, Microsoft или Apple — это не просто задержка релиза. Это срыв маркетинговой кампании, потерянные рекламные бюджеты и пересмотр дат партнёрских договорённостей. Большинство rejection происходит не из-за серьёзных технических нарушений, а из-за деталей, которые команда не проверила, потому что «так же всегда работало».
Что действительно проверяют платформы
У каждой платформы свои технические требования (TRC для PlayStation, TCR для Xbox, App Review Guidelines для Apple), и они обновляются. Что работало год назад, сегодня может быть основанием для rejection.
PlayStation (TRC). Самые частые причины rejection: неправильная обработка системных событий — suspend/resume, выход из игры через PS Button, потеря геймпада. TRC требует, что при потере контроллера игра должна приостановить геймплей (не просто показать сообщение). Многие команды реализуют только UI-уведомление, забывая поставить Time.timeScale = 0 или отправить соответствующий NetworkEvent в мультиплеере. Также критично: обработка trophy unlock должна вызываться только при реальном достижении, а не тестовым вызовом, который случайно остался в билде.
Xbox (TCR). Achievement unlock без реального триггера — автоматический rejection. Кроме этого: xinput-совместимость, правильная работа Quick Resume (игра должна корректно восстанавливаться из suspended-состояния без перезапуска сессии), соблюдение Xbox Accessibility Guidelines. Последнее часто игнорируют как «необязательное», но Microsoft всё активнее проверяет базовые accessibility-требования.
iOS App Store. Список rejection причин широкий, но технические фавориты: использование private API (легко словить, если используете сторонние плагины без аудита), неправильная обработка App Background Modes, проблемы с in-app purchase flow (Apple требует строго определённый UX для IAP, отклонения от Human Interface Guidelines в этой части — почти гарантированный rejection), и — особенно актуально для игр — некорректные privacy manifests начиная с iOS 17.
Google Play. С 2024 года Google активно проверяет Target API Level (должен быть актуальным), корректность Data Safety section (если игра собирает данные — это должно быть задекларировано точно, несоответствие между кодом и декларацией ведёт к suspension), и compliance с Families Policy для игр с рейтингом для детей.
Процесс compliance-аудита
Работа начинается с чтения актуальных требований для конкретной платформы и версии SDK. Не год-назадней документации — актуальной, на дату подачи. Sony, Microsoft и Apple обновляют требования регулярно, и подписка на developer newsletters — обязательная практика.
Дальше формируем compliance checklist под каждую платформу. Это не универсальный список — он составляется под конкретную игру: жанр, монетизация, онлайн-режимы, возрастной рейтинг, целевые регионы (GDPR для EU, COPPA для США).
Тестирование покрывает:
- Все системные сценарии (suspend, resume, sign-out, controller disconnect, low battery)
- IAP flow от начала до конца, включая restore purchases и обработку ошибок
- Network interruption scenarios (потеря соединения в момент транзакции)
- Age rating соответствие (контент в игре vs заявленный рейтинг)
- Privacy и permissions (запрашиваются только нужные, с правильными строками обоснования)
- Локализация системных сообщений (на всех поддерживаемых языках платформы)
После тестирования — pre-submission report с перечнем выявленных несоответствий, приоритизированных по likelihood of rejection.
На одном мобильном проекте за неделю до релиза мы обнаружили, что Game Center integration вызывала GKAchievement.reportAchievements дважды при определённом сценарии прохождения уровня — один раз из gameplay-логики, второй раз из analytics-события. Apple отслеживает duplicate achievement calls и при определённой частоте флагует как попытку накрутки. Исправили через дедупликацию на уровне AchievementManager с кэшем уже отправленных achievements в PlayerPrefs.
Подготовка к submission
Compliance-тестирование — финальный шаг, но лучше начинать его параллельно с основной разработкой. Базовые вещи (обработка системных событий, IAP flow) можно верифицировать на ранних билдах.
Финальный submission checklist включает: проверку всех метаданных (скриншоты, описание, возрастной рейтинг в каждом регионе), верификацию сертификатов и provisioning profiles, тест на clean install без предыдущих данных.
| Платформа | Ориентировочные сроки аудита |
|---|---|
| iOS или Android (одна платформа) | 1–2 недели |
| iOS + Android | 2–3 недели |
| Console (PlayStation или Xbox) | 2–4 недели |
| Multi-platform (PC + Mobile + Console) | 4–8 недель |
Стоимость рассчитывается после анализа платформ, монетизационной модели и объёма функционала.





