Как держать в порядке требования магазинов для десяти приложений
Что должно быть своим у каждого приложения, что можно сделать общим, две ошибки портфелей и реестр, превращающий ежегодную панику в полдня работы.
Объём работы не уменьшается с ростом числа приложений: каждому нужны свои URL, свой путь удаления и свои декларации, потому что у каждого своя страница в магазине. Масштабируется метод: один шаблон имени хоста, один шаблон на каждый тип страницы и список зависимостей для каждого приложения, который вы генерируете заново, а не держите в голове.
Сделайте это за несколько минут
AppFoyer размещает страницы, о которых это руководство, — политику конфиденциальности, условия использования, поддержку, удаление аккаунта и app-ads.txt — на отдельном поддомене, без собственного домена и сервера. Одно приложение — бесплатно, и ничто из того, что требует магазин, никогда не бывает платным.
Проверено 19 сентября 2026 г. Правила магазинов меняются, иногда без предупреждения. Всё ниже ссылается на официальную документацию, и авторитетна именно она, а не эта страница. Если они расходятся, прав магазин. Это руководство переведено с английского; цитаты из документации магазинов приведены в оригинале на английском.
Одно приложение — это чек-лист. Десять приложений — это система, и характер сбоев меняется: ничего не сложно, но что-то всегда немного устарело, и вы узнаёте об этом из отказа по приложению, которое трогали дольше всего назад.
Что должно быть своим у каждого приложения
Без вариантов, потому что у каждого приложения своя страница в магазине и своё поведение с данными:
- Политика конфиденциальности. Разные наборы SDK означают разные раскрытия. Общая политика «для наших приложений» — классическая ошибка портфеля, см. ниже.
- Страница удаления аккаунта и путь, который доходит до вас, — для каждого приложения.
- Декларации Data safety и App Privacy. Заполняются для каждой страницы в магазине по списку зависимостей именно этого приложения.
app-ads.txt, если приложение показывает рекламу, — он находится через сайт, указанный на странице этого приложения.- Сами URL, потому что у каждой страницы в магазине свои поля.
Что действительно можно сделать общим
- Шаблон. Одна структура для всех политик конфиденциальности, одна для условий, заполняемая для каждого приложения.
- Шаблон имени хоста. Предсказуемый адрес для каждого приложения лучше папки разрозненных URL.
- Адрес поддержки, если один ящик действительно обслуживает их все.
- Ваши знания об SDK. То, что собирает Crashlytics или AdMob, — один и тот же факт в каждом приложении; отличается только то, в каких приложениях они есть.
- Процесс — чек-лист релиза, периодичность проверок, реестр ниже.
Две ошибки портфелей
Одна политика на все приложения. Это очевидная экономия, и она не работает в обе стороны: политика перечисляет данные, которых тихое утилитарное приложение никогда не касается, и упускает что-то, что новейшее приложение добавило в прошлом месяце. И то и другое — расхождение с формой Data safety, которую вы заполнили честно, и ревьюер, сравнивающий их, видит политику, которая не про это приложение.
Общий ящик для запросов на удаление без указания приложения. Приходят запросы «пожалуйста, удалите мой аккаунт» без какого-либо указания, о каком из ваших десяти приложений речь. Нельзя выполнить то, что нельзя идентифицировать, а срок по GDPR идёт, пока вы выясняете. Направляйте запросы каждого приложения так, чтобы приложение было очевидно из уведомления.
Реестр
Портфель становится управляемым благодаря одной таблице, которую вы действительно ведёте, — электронной таблицы достаточно. Одна строка на приложение и такие столбцы:
| Столбец | Зачем |
|---|---|
| Название приложения, bundle / application id | Идентификация |
| Магазины, в которых оно опубликовано | Определяет, сколько консолей обновлять |
| URL политики конфиденциальности | Тот, который вы вставляете снова и снова |
| URL удаления аккаунта | То же |
| Адрес / страница поддержки | То же |
| Заявленный сайт разработчика | Где ищут app-ads.txt |
| Показывает рекламу? | Применим ли app-ads.txt вообще |
| Есть аккаунты? | Применимо ли удаление вообще |
| Ключевые SDK | Список зависимостей, кратко |
| Дата последней проверки политики | Дата, по которой видно, что устарело |
Последний столбец — тот, что оправдывает своё место. Оба магазина требуют, чтобы декларации оставались точными, а не просто были точными на момент запуска, и «последняя проверка» — это способ найти три приложения, которые разошлись с реальностью, не читая все десять.
Работающий ритм
- На каждый релиз, для каждого приложения: изменилась ли какая-то зависимость? Если да, перепроверьте политику этого приложения и обе формы данных. Включите это в чек-лист релиза, а не держите в памяти.
- Раз в квартал, по всему портфелю: откройте реестр, отсортируйте по «последней проверке», проверьте несколько самых старых. Убедитесь, что каждый URL всё ещё отвечает 200 без входа в аккаунт.
- Всякий раз, когда URL переезжает: обновите каждую консоль для каждого затронутого приложения и оставьте старый адрес с редиректом. При десяти приложениях это то изменение, которое скорее всего будет сделано на девять десятых.
Скрипт на десять строк, который запрашивает через curl каждый URL из реестра и сообщает об ответах не 200, — это полдня работы, и он ловит тот сбой, который действительно случается: хостинг, который тихо исчез.
Что здесь делает AppFoyer
Каждое приложение — отдельное приложение: свой поддомен, свои пять страниц, свой app-ads.txt, свои
каналы уведомлений, свой чек-лист. Нет общей политики, в которой можно ошибиться, и запросы на
удаление по каждому приложению приходят с указанием приложения.
Чек-лист в панели — живая половина реестра: для каждого приложения он показывает, какое поле в магазине ещё пустое и почему это важно, так что «что устарело» — это экран, а не столбец таблицы, который вы забыли обновить. Тарифы различаются тем, сколько приложений можно опубликовать: одно на Free, десять на Pro, пятьдесят на Advanced.
Честно о границах: массового редактирования и групп приложений пока нет. Добавить строку рекламной сети в пятнадцать приложений сегодня — это пятнадцать правок. Эта работа запланирована, но не выпущена, и страница, продающая вам инструмент для портфеля, должна говорить, что из этого реально.
Первоисточники
- Provide information for Google Play’s Data safety section — справка Google Play Console, о поддержании деклараций в актуальном состоянии
- App privacy details on the App Store — Apple, об актуальности ответов
- Set up app-ads.txt — справка AdMob