Привет, я разрабатываю мобильное приложение YoloPrice: оно в реальном времени сравнивает цены на нужный товар во всех ведущих маркетплейсах и магазинах страны.
Когда я столкнулся с тем, что моё обновление не стала пропускать модерация, то первым делом пошёл искать информацию о том, был ли у кого-то подобный опыт, но на русскоязычных ресурсах такой информации не было, поэтому решил поделиться.
В этой статье речь пойдёт не о первичной модерации, когда приложение совсем новое. Мой кейс в том, что модерация App Store начала отклонять новые версии приложения, которое до этого спокойно существовало в App Store уже пару месяцев и имело 1000+ установок, то есть все базовые требования к приложению были соблюдены.
Возможно, кто-то мог пожаловаться на него, или попался новый модератор, истинную причину мы не узнаем, но я расскажу подробно, по каким пунктам отклоняли новые версии и как я с этими пунктами в итоге справился.
Первое столкновение с отказом
Когда я отправил на модерацию очередную версию YoloPrice 0.8.5, она была отклонена по причине использования мной логотипов известных маркетплейсов:
Guideline 4.1 - Дизайн (Copycats):
Команда App Store посчитала, что моё приложение вводит пользователей в заблуждение, отображая контент, схожий с известными платформами (Wildberries, Yandex, Aliexpress), без необходимого разрешения. Несмотря на то что YoloPrice является метапоисковиком, модераторы решили, что приложение не достаточно отличается от копий других сервисов.

В частности, приложение включает контент, напоминающий Wildberries, Яндекс, Aliexpress и другие
Мне это замечание показалось слишком строгим, учитывая, что другие метапоисковые приложения, такие как Skyscanner и HotelsCombined, уже успешно функционируют в App Store, предоставляя аналогичные услуги и отображая логотипы тех же авиакомпаний у себя.
Мои действия и корректировки
После отказа я внес изменения в описание приложения и написал пояснительное письмо для модерации, сделав упор на то, что моё приложение – классический метапоисковик, и это обозначено в Пользовательском соглашении на сайте приложения. Также, я добавил список магазинов, по которым ведётся поиск, и ссылки на них прямо в описание приложения.
Однако после этих изменений следующая версия приложения вновь получил отказ. На этот раз причиной стал Guideline 4.2.2, согласно которому приложение "не отличается от стандартного веб-браузера".
Новый отказ: Guideline 4.2.2
По мнению модераторов, функциональность YoloPrice не была уникальной и, как они указали в комментарии, "не сильно отличается от стандартного браузера". Это стало для меня неожиданностью (а точнее сказать, меня бомбило), так как опять же на другие приложения-агрегаторы этот пункт как будто бы не распространяется. Хотелось многое сказать модератору, но надо было уложиться в 4 000 символов и по делу.

Письмо с разъяснением функционала
В новом заходе на модерацию версии я написал еще одно письмо, в котором подробно разъяснил уникальные функции YoloPrice, которые сложно или невозможно реализовать в браузере:
-
Алгоритм метапоиска:
YoloPrice одновременно ищет продукты в 136 онлайн-магазинах через единую строку поиска. Это невозможно сделать в браузере, открыв более 136 вкладок, собирая цены на товар и ранжируя их от низкой к высокой. -
Машинное обучение:
Я использую фильтры машинного обучения для ранжирования товаров, что обеспечивает релевантность отображаемых предложений (например, не показывать чехлы при поиске телефона). -
Нейронная сеть:
Группирует идентичные продукты на основе текстов и изображений, чтобы пользователи видели компактный и организованный интерфейс, а не пролистывали по 50 одинаковых товаров. -
Патентованный мобильный SDK:
Вся обработка метапоиска, фильтры и нейронные сети управляются через запатентованный SDK, что делает реализацию подобного функционала в браузере невозможной. Также я предложил предоставить патентную документацию по запросу (это более 70 страниц, если что).
Однако, и это не впечатлило модератора, и я снова получил отказ, и снова по этой же причине: Guideline 4.2.2, функционал "не сильно отличается от стандартного браузера".

Письмо, которое всё изменило
На этом этапе я уже решил, что на крайний случай буду готов удалить приложение из App Store и заводить новый аккаунт уже от юр.лица (сейчас оно опубликовано от физ.лица).
В финальном письме я прямо сказал команде модерации, что не понимаю причину отказа, ведь если приложения вроде Skyscanner, Aviasales и HotelsCombined успешно проходят модерацию, несмотря на схожую функциональность, то почему к YoloPrice применяются другие требования?
Возможно, команде Apple хотелось бы, чтобы я использовал больше встроенных функций iOS? Этот вопрос натолкнул меня на проведение небольшого анализа, где я сравнил встроенные функции, используемые в YoloPrice и у подобных приложений:
App |
Native iOS Functions |
SkyScanner |
Siri & Search |
HotelsCombined |
Siri & Search |
Kayak |
Siri & Search, Live Activities |
Aviasales |
Siri & Search, Location |
YoloPrice |
Siri & Search, Push Notifications |
Я объяснил, что YoloPrice использует схожие с другими метапоисковыми приложениями функции iOS (Siri & Search, Push Notifications) и запросил детальное объяснение различий, на основании которых моему приложению было отказано. Я также подчеркнул, что у нас уже было более 1000 установок на iOS и 4000 установок на Android, и пользователи заслуживают доступа к обновленной версии приложения с улучшенной функциональностью.
Вот ключевые моменты моего последнего письма:
-
Сравнение с конкурентами:
Я предоставил таблицу с функциональностями других метапоисковых приложений и указал, что использование API и функций iOS в этих приложениях не сильно отличается от нашего. Это было важным аргументом в пользу того, что YoloPrice не должен рассматриваться как «обычный веб-браузер». -
Запрос на разъяснение:
Я попросил дать конкретные рекомендации или провести видеозвонок, чтобы обсудить, как именно моё приложение можно адаптировать для соответствия требованиям Guideline 4.2.2. -
Акцент на разницу в платформах:
В письме я также указал, что пользователи Android уже более двух недель успешно пользуются обновленной версией приложения, в то время как пользователи iOS лишены этой возможности, подчеркнув необходимость равноправного доступа для всех пользователей. -
Подозрения о необоснованности отказа:
Я прямо задал вопрос о том, не связано ли отклонение с тем, что приложение опубликовано физическим лицом или из-за гражданства владельца (Россия). Хотя это не было центральным аргументом, оно подчеркнуло возможную предвзятость в процессе модерации.
Результат: YoloPrice одобрен и новая версия доступна в App Store
Каждый раз, когда статус приложения менялся на “In Review”, я смотрел, с каких ip-адресов приходят модераторы, и обычно приходил один ip-адрес из США, но в этот раз во время модерации я заметил сразу 5 ip-адресов, 4 из которых были из США, а один из Великобритании.
В ответ на это письмо команда модерации лаконично ответила: “Спасибо за предоставленную информацию, мы продолжим ревью вашего приложения”, и статус версии сменился с “отказано” на “на модерации”, а спустя пару часов моё приложение было успешно опубликовано в App Store.

Я сделал вывод, что откровенное общение с модераторами, а также детальное разъяснение функций и сравнение с похожими приложениями, могут существенно повлиять на результат. Важно не просто вносить изменения, а объяснять каждое действие и находить аналогичные кейсы для примеров.
Надеюсь, что мой опыт поможет другим разработчикам при прохождении модерации, особенно если они сталкиваются с неопределёнными формулировками в отказах.
Автор: YoloGuy