Поддержка медиации в среде выполнения SDK

Посредничество – это распространенный способ управления доходами для рекламных платформ продавцов. В рабочем процессе медиации SDK медиации («посредник») обращается к нескольким рекламным сетям («посредник» или «посредники») для получения лучшего объявления для данного рекламного места. В некоторых случаях и посреднику, и рекламным сетям, которые он вызывает, необходимо, чтобы их SDK были на устройстве и взаимодействовали.

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

  • Различия между предыдущими потоками медиации и текущей поддержкой медиации среды выполнения SDK
  • Действия по настройке рабочих процессов передачи в среде выполнения SDK и различные этапы перехода
  • Руководство по действиям в сценариях, в которых не все SDK перенесены в среду выполнения.

Поддержка опосредованной рекламы в среде выполнения SDK доступна в AGP 8.5 и в следующих версиях библиотек Jetpack среды выполнения SDK:

Androidx-библиотека Версия
androidx.privacysandbox.activity 1.0.0-альфа01
androidx.privacysandbox.sdkruntime 1.0.0-альфа13
androidx.privacysandbox.tools 1.0.0-альфа08
androidx.privacysandbox.ui 1.0.0-альфа09

Глоссарий

Следующие термины являются ключевыми для понимания медиации в среде выполнения SDK:

  • SDK с поддержкой среды выполнения (RE SDK): SDK, предназначенный для работы в среде выполнения SDK и взаимодействия с приложением посредством межпроцессного взаимодействия (IPC).
  • SDK с поддержкой среды выполнения (RA SDK): SDK без поддержки среды выполнения, статически связанный с приложением, который может содержать существующий код SDK, а также новый код для вызова в ваш SDK с поддержкой среды выполнения.
  • In-app SDK: SDK, который запускается статически связанный с приложением и не учитывает среду выполнения SDK. Это может быть рекламная сеть, которая не перешла на SDK Runtime, или специальный адаптер издателя.
  • Медиатор: SDK рекламного посредничества, который предоставляет посредническую услугу на устройстве путем взаимодействия с другими SDK рекламной сети.
  • Посредник: SDK рекламной сети, который вызывается посредником для предоставления и отображения объявления.
  • Адаптер-посредник: SDK, используемые SDK-посредником для обеспечения трансляции интерфейса API для взаимодействия с различными SDK-посредниками, обычно предоставляемыми посредником. Они могут быть осведомлены о времени выполнения или не учитывать время выполнения.

Типичные потоки посредничества

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

Описываемые нами потоки представляют собой упрощенную версию посредничества на устройстве с несколькими SDK рекламных сетей и служат основой для обсуждения изменений, необходимых для обеспечения совместимости процессов посредничества с SDK Runtime.

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

  • Инициализация (включая обнаружение рекламных сетей и коммуникации)
  • Презентация пользовательского интерфейса рекламы

Инициализация

Ниже представлена ​​стандартная инициализация, обнаружение рекламной сети и поток связи:

  1. Клиентское приложение инициирует посредник
  2. Посредник обнаруживает и инициализирует соответствующих посредников и адаптеры.
  3. Медиатор использует свои адаптеры для связи с каждым посредником.
  4. Клиентское приложение запрашивает посредника загрузить рекламу.
  5. Клиентское приложение запрашивает посредника показать это объявление.

Презентация рекламного интерфейса

Когда дело доходит до рендеринга объявления после последнего запроса на предыдущем шаге, порядок действий зависит от типа объявления:

Баннерная реклама Полноэкранные объявления Нативная реклама
SDK посредника создает представление объявления, которое оборачивает представление объявления победившего посредника.

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

Потоки передачи в среде выполнения SDK

Как работает посредничество внутри среды выполнения SDK, зависит от того, включен ли объект посредника во время выполнения или нет. Исходя из этого, мы можем иметь следующие сценарии:

  • И посредник, и посредник находятся в среде выполнения SDK: RE mediatee.
  • Посредник находится в среде выполнения SDK, а посредник — в приложении: Посредник в приложении.

RE Посредник

На следующей схеме архитектуры показан общий обзор взаимодействия SDK с поддержкой среды выполнения (RE) и с поддержкой среды выполнения (RA) посредника, адаптеров-посредников RE и пакетов RE SDK посредника.

Адаптеры-посредники должны находиться в том же процессе, что и объект-посредник, с которым они взаимодействуют, поэтому им также придется перейти на среду выполнения SDK.

Диаграмма архитектуры, показывающая общий обзор взаимодействие SDK посредника с поддержкой среды выполнения (RE) и с поддержкой среды выполнения (RA), адаптеры-посредники RE и SDK RE-посредников.
Рисунок 1. И посредник, и посредник являются RE SDK.

Инициализация

При рассмотрении инициализации, обнаружения и связи как посредника, так и посредника с поддержкой среды выполнения, поток будет следовать следующим шагам:

  1. Приложение (или RA SDK) загружает и инициализирует пакет SDK-посредника с помощью SdkSandboxManager#loadSdk .
  2. Во время инициализации пакет SDK посредника загружает и инициализирует все необходимые посредники в среде выполнения SDK с помощью SdkSandboxController#loadSdk .
  3. RE SDK может обнаружить все загруженные SDK в среде выполнения, вызвав SdkSandboxController#getSandboxedSdks .
RE — диаграмма последовательности посредничества RE, показывающая поток, описанный ранее.
Рисунок 2. Процесс инициализации посредника RE.

Презентация рекламного интерфейса

В следующем разделе описывается загрузка баннеров и полноэкранной рекламы от посредника RE.

Рекламные баннеры RE Mediatee

Учитывая запрос приложения на загрузку рекламного баннера, процесс завершения рендеринга выглядит следующим образом:

  1. Посредник выбирает победившего посредника для этого объявления.
  2. Посредник получает SandboxedUiAdapter от посредника.
  3. Посредник пересылает UiAdapter в приложение.
Последовательность действий для завершения рендеринга рекламного баннера в медиации RE-RE.
Рисунок 3. Процесс завершения рендеринга рекламного баннера от посредника RE.

Узнайте больше об использовании SandboxedUiAdapter и библиотеки пользовательского интерфейса среды выполнения SDK.

Наложения на рекламные баннеры

Если посредники хотят добавить наложение к объявлению, им придется изменить поток следующим образом:

  1. Посредник создает макет с его наложением и SandboxedSdkView .
  2. Посредник выбирает победившего посредника для этого объявления.
  3. Посредник получает SandboxedUiAdapter от посредника.
  4. Посредник устанавливает для UiAdapter посредника значение SandboxedSdkView .
  5. Посредник делится заполненным представлением с приложением.
Поток для наложения просмотра на баннерную рекламу, полученную от RE Mediatee.
Поток для наложения просмотра на баннерную рекламу, полученную от RE Mediatee.
Полноэкранная реклама RE Mediatee

Учитывая запрос приложения на загрузку полноэкранного объявления, процесс выполняется следующим образом:

  1. Приложение (или RA SDK) передает SdkActivityLauncher посреднику с запросом на загрузку объявления.
    1. Клиент может ограничить создание действий с помощью предиката .
  2. Посредник выбирает победившего посредника для этого объявления.
  3. Посредник запрашивает посредника загрузить рекламу, передавая SdkActivityLauncher из приложения.
  4. Посредник регистрирует обработчик активности и получает токен идентификатора для зарегистрированной активности.
  5. Посредник использует SdkActivityLauncher для запроса на запуск действия с использованием этого токена.
  6. Если предикат клиентского приложения позволяет это, среда выполнения SDK запустит это действие в выделенном процессе.
Поток для отображения опосредованного полноэкранного приложения от RE Mediatee.
Рисунок 4. Блок-схема, показывающая, как загрузить опосредованную полноэкранную рекламу из RE Mediatee.

Узнайте больше о поддержке действий для полноэкранных объявлений в среде выполнения SDK.

Посредник в приложении

На следующей схеме архитектуры показан общий обзор взаимодействия SDK RE и RA посредника, адаптеров-посредников, которые не знают о среде выполнения SDK, и SDK получателей посредника, статически связанных с приложением (также не поддерживающих среду выполнения).

Диаграмма архитектуры, на которой показан общий обзор взаимодействие RE и RA SDK посредника, адаптеров-посредников, которые не знает о среде выполнения SDK и SDK посредника, статически связанных с приложением (также не учитывается во время выполнения).
Рис. 5. Посредник статически связан с приложением, даже если ему известен RE SDK.

Инициализация

Поскольку в этом сценарии посредники статически связаны с приложением и еще не перенесены в среду выполнения SDK, SDK с поддержкой среды выполнения посредника должен иметь процесс для их регистрации .

Эта регистрация должна быть доступна через API посредника, но детали реализации оставлены на усмотрение каждого посредника. Мы называем этот API MediationSandboxedSdk#registerInAppMediatee .

При рассмотрении инициализации, обнаружения и передачи SDK посредника RE и SDK посредника в приложении поток будет следовать следующим шагам:

  1. Приложение загружает и инициализирует SDK посредника, поддерживающий среду выполнения.
  2. SDK РА посредника:
    1. Инициализирует RE SDK посредника, используя SdkSandboxManager#loadSdk .
    2. Инициализирует все SDK-посредники в приложении.
    3. Обнаруживает и регистрирует SDK посредника в приложении с помощью API, предоставляемого RE SDK, MediationSandboxedSdk#registerInAppMediate .

Помимо регистрации всех SDK-посредника в приложении, RE SDK посредника может обнаруживать все SDK, загруженные в среду выполнения SDK, с помощью SdkSandboxController#getSandboxedSdks .

Последовательность, иллюстрирующая описанный процесс инициализации посредника в приложении.
Рисунок 6. Обратите внимание, что мы используем предложенный API посредника для регистрации ссылки на посредников внутри приложения.

Презентация рекламного интерфейса

В следующем разделе описывается загрузка баннеров и полноэкранной рекламы из медиатора внутри приложения.

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

Учитывая запрос приложения на загрузку рекламного баннера, процесс завершения рендеринга выглядит следующим образом:

  1. SDK посредника с поддержкой среды выполнения перенаправляет запрос приложения в свой SDK с поддержкой среды выполнения.
  2. RE SDK посредника выбирает соответствующего посредника.
  3. RE SDK посредника получает ссылку на посредника и запрашивает загрузку объявления через RA SDK.
  4. RA SDK получает представление от посредника в приложении.
  5. RA SDK создает SandboxedUiAdapter для полученного представления.
  6. RA SDK перенаправляет UiAdapter в RE SDK.
  7. RE SDK перенаправляет UiAdapter в приложение.
Последовательность действий для завершения рендеринга рекламных баннеров от посредника в приложении
Рис. 7. Обратите внимание, что посреднику не следует накладывать представления на версию V1 при получении ее от посредника внутри приложения.
Полноэкранная реклама в приложении с посредником

Учитывая запрос приложения на загрузку полноэкранного объявления, процесс выполняется следующим образом:

  1. Приложение передает SdkActivityLauncher в SDK RA посредника с запросом на загрузку объявления.
    1. Клиент может ограничить создание действий с помощью предиката .
  2. SDK RA посредника перенаправляет запрос приложения в свой RE SDK.
  3. RE SDK посредника:
    1. Выбирает соответствующего посредника.
    2. Получает ссылку на посредника в приложении.
    3. Запрашивает загрузку объявления через RA SDK.
  4. RA SDK запрашивает посредника загрузить рекламу.
  5. Опосредуемый непосредственно начинает деятельность. Предикат приложения не будет учитываться.
Процесс загрузки полноэкранной рекламы, когда посредник находится в процессе приложения.
Рисунок 8. Предикат будет игнорироваться посредником внутри приложения.

Привлекайте и делитесь отзывами

Privacy Sandbox для Android — это текущий проект, и в этом документе отражен его текущий дизайн. Ваше мнение очень важно, поскольку мы продолжаем развивать и улучшать его функции. Сообщите об ошибке, чтобы оставить отзыв.