Apps Kit SDK logoApps Kit SDK
Документация · Портал Apps Kit SDK

Управление приложениями

Мои приложения (панель управления)

«Мои приложения» (/ или /apps) — стартовая страница после входа и основной раздел для работы со всеми приложениями вашей команды.

1782302134914-MY_APPS_DASHBOARD_IMAGE.png

Таблица приложений. В каждой строке отображаются: порядковый номер; иконка приложения (или аватар с буквой, если иконка не загружена), его название и идентификатор пакета / Bundle ID; назначенный бренд; магазин (иконка платформы iOS/Android/Amazon); текущая версия SDK (с возможностью сортировки); индикатор конфигурации по умолчанию (зелёный «Добавлена», если для приложения сгенерирована конфигурация по умолчанию, и серый «Не добавлена» в противном случае); дата создания (с возможностью сортировки) и столбец действий.

Поиск и фильтрация. Поле поиска фильтрует приложения по названию или пакету по мере ввода. Поиск можно сочетать с отдельными выпадающими фильтрами по бренду, магазину и версии SDK на панели фильтров. Вместо встроенной пагинации таблицы используется собственная нижняя панель «Показаны X–Y из Z» с выбором числа строк на странице и кнопками навигации ⟨ ‹ › ⟩.

Меню действий. Меню с тремя точками в каждой строке содержит действия «Редактировать», «Дублировать» и «Удалить». Их доступность зависит от ваших прав (см. ниже ограничения тарифного плана и права при совместном доступе).

Ограничения тарифного плана и заблокированные приложения. Тарифный план вашей подписки ограничивает количество приложений (maxApps). Если текущее количество превышает лимит — например, после перехода на более дешёвый тариф, — вверху страницы появляется жёлтое предупреждение: «Лимит приложений превышен — используется X/Y приложений», небольшой индикатор заполнения и кнопка Перейти на более высокий тариф, ведущая в раздел подписки.

1782302787888-MY_APPS_LOCKED_BANNER_IMAGE.png

При превышении лимита портал не выбирает приложения для блокировки произвольно: он сохраняет доступ к самым ранним приложениям по дате создания в пределах лимита тарифа и блокирует все приложения, созданные позже. Меню действий заблокированного приложения становится ограниченным: при нажатии на кнопку с тремя точками отображается только заголовок «ЗАБЛОКИРОВАНО» с пояснением «Это приложение превышает лимит вашего тарифа. Удалите его, чтобы освободить место», а при наличии права на удаление — ещё и красный пункт «Удалить приложение». Редактирование и дублирование для заблокированных строк недоступны. Чтобы восстановить доступ к заблокированному приложению, нужно удалить другие приложения и освободить место либо перейти на более высокий тариф.

Кнопка создания. Кнопка + Создать приложение доступна для нажатия, только если лимит тарифа ещё не исчерпан (canCreateApp()). При достижении лимита вместо неё отображаются небольшой индикатор использования («Используется X/Y приложений») и ссылка «🔒 Перейти на более высокий тариф», ведущая в раздел подписки.

Режим совместного доступа. Если вы открыли эту страницу после переключения на аккаунт с предоставленным вам доступом (см. описание меню аккаунта выше), таблица дополнительно запрашивает ваши права для этого аккаунта через /rights/user-permissions. На их основе для каждой строки разрешаются или запрещаются редактирование, удаление и дублирование. Например, вы можете просматривать и редактировать приложения, но не удалять их — в зависимости от прав, предоставленных владельцем ресурса.

Добавление нового приложения

При нажатии + Создать приложение форма приложения открывается в режиме создания — в вертикальном модальном окне по центру экрана.

1782302898843-CREATE_APP_MODAL_IMAGE.png

Поля:

  • Иконка — необязательное поле. В большой квадратной области загрузки вверху отображается надпись «Загрузить изображение», пока не выбран файл. Поддерживаются JPEG, PNG и GIF.
  • Магазин — обязательный выбор одного из вариантов: Apple App Store, Google Play или Amazon App Store. Список загружается динамически с бэкенда; если запрос завершается ошибкой, используются эти три варианта.
  • Название — обязательное поле, от 4 до 70 символов.
  • Пакет / Bundle ID — обязательное поле, значение должно начинаться с com. (проверяется по шаблону com.*).
  • URL — обязательное поле при создании. При выборе магазина Google Play автоматически подставляется https://play.google.com/store/apps/details?id={package}; при выборе Apple App Store — базовый адрес https://apps.apple.com/. После автозаполнения URL можно отредактировать вручную. Если выбран Google Play, при изменении пакета автоматически заполненный URL обновляется вместе с ним.
  • Бренд — выпадающий список существующих брендов.

При отправке формы вызывается эндпоинт создания приложения. Приложение создаётся без настроенной сети медиации и рекламных блоков — их нужно настроить следующим шагом в разделе сведений о приложении. Кнопка Отмена закрывает модальное окно без сохранения.

Редактирование и дублирование приложения (быстрая форма)

При выборе Редактировать в меню действий строки открывается тот же компонент формы в режиме редактирования, но вместо вертикальной формы создания используется одна компактная горизонтальная строка: иконка (с небольшой кнопкой-карандашом поверх неё для замены), название, поле пакета только для чтения, поле URL только для чтения, выпадающий список брендов и кнопка сохранения. После создания приложения поля пакета и URL навсегда становятся доступными только для чтения: изменить идентификатор пакета или URL приложения в магазине нельзя — можно менять только название, иконку и бренд. Доступ к этой строке определяется проверкой права canUpdate; в режиме совместного доступа оно зависит от предоставленных вам прав на сведения о приложении.

1782304075424-EDIT_APP_ROW_IMAGE.png

При выборе Дублировать открывается ещё один экземпляр формы создания с данными исходного приложения. К имени пакета добавляется .copy, чтобы оно не совпадало с оригиналом. Перед сохранением в качестве нового приложения можно изменить нужные данные: название, иконку, бренд. Медиация, рекламные блоки и все остальные настройки из раздела сведений о приложении не копируются: дубликат начинает с нуля, как и любое новое приложение.

Сведения о приложении

При открытии приложения через «Мои приложения» → «Редактировать» или нажатием на саму строку приложения вы переходите в раздел сведений о приложении. Это самая сложная страница портала: здесь настраивается фактическое поведение SDK для конкретного приложения.

1782304315827-APP_DETAILS_OVERVIEW_IMAGE.png

Режимы Live и Dev. Переключатель вверху страницы переключает всю страницу между конфигурациями Live и Dev. Каждый раздел ниже — медиация, рекламные блоки, плейсхолдеры, параметры показа, MMP, продвижение функций, настройки — настраивается отдельно для каждого режима. Это позволяет подготавливать и тестировать изменения в Dev, не влияя на работу уже выпущенного приложения. Кнопки Применить Live к Dev и Применить Dev к Live позволяют одним действием полностью скопировать конфигурацию одного режима в другой. Это удобно для переноса протестированной конфигурации Dev в Live или для приведения Dev к состоянию Live перед новым тестированием.

1782306938946-APP_DETAILS_LIVE_DEV_TOGGLE_IMAGE.png

В заголовке страницы также отображаются текущий номер версии конфигурации, ссылка История изменений (см. ниже) и кнопка Получить конфигурацию (см. ниже). Часть элементов настройки, включая описанный ниже выбор групп регионов, появляется только тогда, когда версия SDK, сообщаемая приложением, достигает определённого минимального значения. Портал ограничивает доступ к некоторым новым функциям по минимальной версии SDK, чтобы для старых сборок приложения не отображались неподдерживаемые параметры.

Остальная часть страницы состоит из раскрывающихся разделов в следующем порядке:

Информация о приложении

Основные сведения о приложении: название, идентификатор пакета / Bundle ID, магазин, иконка и назначенный бренд. По сути, это те же поля, что и в форме создания или редактирования приложения, продублированные здесь для удобства.

1782307208052-APP_INFO_SECTION_IMAGE.png

Выбор медиации

Выберите сеть медиации для этого приложения и режима, например сеть с каскадной моделью (waterfall) или AppLovin MAX. Это обязательный предварительный шаг: пока сеть медиации не выбрана, расположенные ниже разделы рекламных блоков, рекламных плейсхолдеров и привязки рекламных блоков к плейсхолдерам остаются заблокированными. Для их настройки необходимо знать, SDK и формат рекламных блоков какой сети используются.

1782310845399-MEDIATION_SELECTION_IMAGE.png

Добавление рекламных блоков

Введите идентификаторы рекламных блоков, выданные вашей сетью медиации. Они распределены по вкладкам рекламных форматов: реклама при открытии приложения (App Open), межстраничная (Interstitial), баннерная (Banner), нативная (Native) и реклама с вознаграждением (Rewarded). Отображаются только вкладки форматов, которые поддерживает выбранная выше сеть медиации.

1782311592620-ADD_AD_UNITS_IMAGE.png

Рекламные плейсхолдеры

Задайте именованные плейсхолдеры — логические места в приложении или игре, где может показываться реклама, например «Уровень пройден» или «Баннер в главном меню». Они отображаются в виде нумерованной сетки, в которой можно добавлять и переименовывать элементы. Поскольку имена плейсхолдеров обычно должны совпадать с константами в исходном коде приложения, портал поддерживает импорт и экспорт всего списка в виде файла перечисления enum на Kotlin (.kt). Это позволяет синхронизировать кодовую базу и конфигурацию на портале без ручного повторного ввода.

1782311785860-AD_PLACEHOLDERS_IMAGE.png

Рекламные блоки для рекламных плейсхолдеров

Сетка привязок: по одной оси расположены плейсхолдеры, по другой — рекламные форматы (межстраничная / баннерная / нативная / с вознаграждением). Для каждой комбинации вы выбираете конкретный рекламный блок из добавленных выше, который будет использоваться для этого плейсхолдера.

Обратите внимание: наряду с реальными блоками рекламных сетей в этой сетке доступен вариант Кросс-продвижение. Если выбрать его для плейсхолдера, в этом месте не будет показываться платная реклама рекламной сети. Вместо неё будет отображаться креатив для кросс-продвижения одного из ваших других приложений, настроенный в разделе кампаний. Именно этот механизм связывает кампании с реальными рекламными размещениями внутри приложений.

1782367790413-AD_UNITS_FOR_PLACEHOLDERS_IMAGE.png

Параметры показа рекламы

Для каждого рекламного формата настройте интерфейс загрузки: показывать ли диалог загрузки или shimmer-анимацию, пока загружается реклама, и через какое время прекращать ожидание. Для межстраничной рекламы, помимо времени показа, доступны дополнительные параметры логики срабатывания: показ по нажатию, через заданный интервал, по сочетанию этих условий или при переходах между сценами приложения. У каждого режима срабатывания есть собственные настраиваемые параметры, например интервал времени или количество нажатий.

1782368043152-AD_DISPLAY_OPTIONS_IMAGE.png

Пейволлы для плейсхолдеров приложения

Привяжите один из шаблонов пейволлов, созданных в разделе Шаблоны пейволлов, непосредственно к плейсхолдерам приложения. Так SDK будет знать, какой пейволл отображать по запросу приложения. Подробнее см. отдельный раздел Пейволлы далее в этом руководстве.

1789744952981-app-details-paywalls-for-placeholders.png

Общий переключатель Включено включает или отключает всю функцию для этого приложения. После включения каждая строка связывает один пейволл с плейсхолдерами приложения, в которых он должен появляться (они были заданы ранее в разделе рекламных плейсхолдеров). Найдите пейволл по названию, затем нажмите + Добавить плейсхолдер, чтобы привязать к нему один или несколько плейсхолдеров. Каждый привязанный плейсхолдер отображается в виде удаляемой метки с небольшим счётчиком. Плейсхолдер может быть привязан только к одному пейволлу одновременно: при назначении другому пейволлу предыдущая привязка удаляется автоматически.

В отличие от остальных настроек на странице сведений о приложении, эта привязка не зависит строго от режима Live или Dev, выбранного вверху страницы. У реального установленного приложения нет собственного признака «Live» или «Dev»: это разделение существует только на стороне администрирования для удобства подготовки изменений. Поэтому после привязки пейволла к плейсхолдеру в любом из режимов и сохранения она становится доступна реальным устройствам. Повторять ту же привязку во втором режиме, чтобы она заработала в продакшене, не требуется.

Выбор MMP

Подключите партнёра по мобильной атрибуции (Mobile Measurement Partner). Среди доступных вариантов — Adjust, AppsFlyer, Firebase, Cost Center и Solar Engine. Включите передачу данных о рекламном доходе отдельно для нужных рекламных форматов, чтобы события рекламного дохода поступали в вашу систему атрибуции и аналитики вместе с остальными данными об установках и вовлечённости.

1782368201027-MMP_SELECTION_IMAGE.png

Продвижение функций

Настройте промобаннеры или карточки внутри приложения, не связанные с рекламными сетями, например анонс новой функции или предложение перейти на премиум-тариф в интерфейсе вашего приложения. Каждая запись в этой редактируемой таблице содержит заголовок, тип, ключ, изображение и действие, выполняемое при нажатии, например переход по глубокой ссылке (deep link) или на определённый экран приложения.

1782368590227-FEATURE_PROMOTION_IMAGE.png

Настройки

Различные параметры уровня приложения, не вошедшие в другие разделы: включение логов в консоли для отладки, включение логирования рекламных событий, допустимое отклонение времени для локальных уведомлений, а также URL политики конфиденциальности и условий использования приложения. Некоторые рекламные сети и магазины приложений требуют, чтобы эти ссылки были доступны пользователям.

1782368745664-SETTINGS_SECTION_IMAGE.png

Получение конфигурации

При нажатии Получить конфигурацию генерируется зашифрованная строка конфигурации, включающая все заданные выше настройки для текущего активного режима — Live или Dev. Если в селекторе регионов в заголовке страницы сведений о приложении выбрана группа регионов, сгенерированная ссылка или строка также содержит идентификатор этой группы в параметре запроса. Это позволяет получать разные конфигурации во время выполнения в зависимости от группы регионов. Портал также пошагово объясняет, как опубликовать эту строку через Firebase Remote Config с ключом параметра AKS_AND_LIVE. Именно так выпущенное приложение получает конфигурацию во время выполнения: сам портал не отправляет её напрямую на устройства конечных пользователей.

1782370741995-GET_CONFIGURATION_IMAGE.png

История изменений

При каждом сохранении конфигурации приложения записывается новая версия конфигурации. История изменений — отдельная страница, доступная по ссылке из раздела сведений о приложении, — отображает все версии этого приложения в таблице: порядковый номер, версию конфигурации, описание изменений, дату обновления и автора обновления. Длинные описания во внутреннем представлении разделены вертикальной чертой и выводятся отдельными строками; текст длиннее 20 символов сворачивается с переключателем «Показать больше / Показать меньше». Фильтр диапазона дат вверху позволяет ограничить список нужным периодом. Это базовый журнал аудита, по которому можно узнать, кто и когда менял конфигурацию приложения.

1782370885084-CHANGE_HISTORY_IMAGE.png

Доступные мне

Если другая команда пригласила вас к совместной работе над своими приложениями и вы приняли приглашение, ресурсы с предоставленным доступом появляются в разделе Доступные мне (/SharedWithMe). Это таблица полученных приглашений, отдельная от приложений вашей команды. В каждой строке указаны отправитель и текущий статус приглашения.

1782385376888-SHARED_WITH_ME_PAGE_IMAGE.png

Здесь можно Принять или Отклонить ожидающее ответа приглашение. Оба действия вызывают один и тот же эндпоинт обработки приглашений с соответствующим решением. После принятия отправитель появляется в выпадающем списке переключения аккаунтов, описанном выше. Вы сможете перейти в его аккаунт и работать в пределах предоставленных прав.

Если вы открыли эту страницу по ссылке из уведомления с параметром запроса ?invitationId=, диалог приглашения откроется автоматически при загрузке — искать нужную строку вручную не придётся.

Диалог приглашения. Вверху этого модального окна отображается email приглашающего аккаунта в виде метки, а также заголовок и иконка, зависящие от статуса: подарок для приглашения, ожидающего ответа; галочка для уже принятого; крестик для отклонённого; часы для истёкшего. Ниже расположен прокручиваемый список «Доступ к ресурсам: N». В каждой строке отображаются заглушка иконки приложения, название ресурса (например, «Приложения» или «Информация о приложении», сформированное из соответствующего ключа разрешения) и выровненные по правому краю метки доступных вам прав: чтение / создание / изменение / удаление. Если у приглашения есть срок действия, он указывается в строке предупреждения.

1782385507708-INVITATION_DIALOG_IMAGE.png

Кнопки внизу зависят от статуса: для приглашения, ожидающего ответа, отображаются «Не сейчас» и «✓ Принять приглашение»; для уже обработанного или истёкшего приглашения — только «Закрыть» и поясняющий текст. Например, для истёкшего приглашения: «Попросите {email отправителя} отправить новое приглашение».