SDK Runtime API: руководство по интеграции

для разработчиков

Читая документацию Privacy Sandbox для Android, используйте кнопку Developer Preview или Beta , чтобы выбрать версию программы, с которой вы работаете, поскольку инструкции могут отличаться.


Чтобы помочь вам в планировании интеграции, в этом руководстве представлено всестороннее представление о процессе интеграции, которое может включать функции, которые еще не реализованы на текущем этапе Privacy Sandbox в Android Developer Preview. В таких случаях предоставляются рекомендации по срокам.

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

Визуальная диаграмма рабочего процесса интеграции SDK Runtime.
Рабочий процесс для интеграции SDK Runtime.

Предварительные требования и настройка

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

Ознакомьтесь с API

Начните с прочтения предложения по проекту , чтобы ознакомиться со средой выполнения SDK, ее возможностями и ограничениями.

Прочтите Руководство разработчика , чтобы узнать, как включить код и вызовы API, которые вам понадобятся для ваших сценариев использования.

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

Зарегистрируйтесь , чтобы получать обновления Privacy Sandbox на Android. Это поможет вам быть в курсе новых функций, которые появятся в будущих выпусках.

Настройка и тестирование примера приложения

Когда вы будете готовы начать интеграцию, загрузите последнюю версию Developer Preview в Android Studio, следуя инструкциям, перечисленным здесь . Для этого руководства требуется использовать последнюю версию Android Studio Canary . Вы можете запускать эту версию Android Studio параллельно с другими используемыми вами версиями, поэтому сообщите нам, если это требование вас не устраивает.

Создайте форк и запустите код в нашем примере приложения , чтобы ознакомиться с установкой RE SDK под названием «example-sdk» и клиентского приложения под названием «client-app» на устройстве или эмуляторе, гарантируя загрузку примера объявления.

Адаптируйте существующий SDK к среде выполнения SDK.

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

  • Создайте или обновите пример SDK и реализацию SDK для реализации функций RE SDK.

  • С архитектурной точки зрения рассмотрите возможность добавления RE SDK в качестве зависимости к существующему SDK, который действует как оболочка. Это позволяет клиентскому приложению продолжать напрямую вызывать существующий SDK или оболочку. SDK оболочки может маршрутизировать вызовы API на основе различных стратегий, описанных ниже.

Визуальная схема архитектуры системы после интеграции SDK Runtime.
Архитектура системы после интеграции SDK Runtime.

Для случаев использования, требующих пользовательских данных, таких как вызов PPAPI, определение API необходимо будет создать с помощью IPC. Используя IBinder и AIDL Android, создайте протокол связи для отправки информации в SDK с поддержкой среды выполнения для получения любой необходимой информации или необходимых действий. Дополнительную информацию можно найти в руководстве разработчика SDK Runtime здесь .

Направляйте трафик в SDK с поддержкой среды выполнения

Стратегии маршрутизации для вызовов API

В зависимости от вариантов использования рекомендуется маршрутизировать вызовы SDK через существующие пути кода SDK и RE SDK. Это поможет вам реализовать A/B-тестирование на начальном этапе внедрения. Чтобы упростить интеграцию приложений, в этом руководстве учитывается, что приложение будет зависеть от RE SDK и при необходимости делегировать полномочия существующему SDK. Рассмотрите следующие стратегии:

Направляйте процент вызовов SDK в RE SDK.

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

  • Измените существующий SDK, чтобы часть запросов направлялась в RE SDK. Например, используйте флаг динамической конфигурации на основе сервера, такой как Firebase Remote Config , для динамического управления критериями перенаправления.
  • По сути, это делает существующий SDK единственным интерфейсом, с которым приложение взаимодействует и отвечает за маршрутизацию запросов SDK в новый RE SDK.
  • Ваш код должен перенаправлять только те запросы, которые могут быть обработаны RE SDK. Например, убедитесь, что формат объявления поддерживается средой выполнения SDK.
  • Следуйте этим инструкциям , чтобы обновить код SDK для взаимодействия с RE SDK.

Псевдокод логики маршрутизации:

void showAd(AdRequest request) {
  if (request.isBannerAd() && enableRuntimeSdkDiversion() == true) {
    // Call showAd() from the RE SDK
  } else {
    // Call showAd() using the existing SDK code path
  }
}

Направляйте все вызовы SDK как в существующие, так и в RE SDK.

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

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

Псевдокод логики маршрутизации:

void reportAttribution(AdRequest request) {
  if (request.isFeatureSupported() && isSdkLoaded() == true) {
    // Call RE SDK
  }

  // Call existing SDK code path
}

Закрытая бета-версия для распространения SDK с поддержкой среды выполнения

Google Play предлагает программу закрытого бета-тестирования SDK, связанного с рекламой, для разработчиков, которые зарегистрировались в бета-программе и провели локальное тестирование. Если вы заинтересованы в участии, зарегистрируйтесь здесь .