Перейти к основному содержимому
Версия:

Руководство по интеграции

Appodeal SDK даёт вам доступ к 70+ рекламным источникам и заставляет их конкурировать друг с другом на аукционе в реальном времени, максимизируя ваши доходы от рекламы. Функционал Appodeal SDK также включает In-app Bidding, автоматическую оптимизацию UA, сегментацию пользователей & A/B тестирование, перекрестное продвижение, прямые сделки, мгновенные выплаты и многое другое.


В следующем документе показано, как интегрировать Appodeal в ваш Android проект с нужными вам сетями через gradle build, а также настройка всех рекламных форматов.

Минимальные требования:
  • Android API level 24 (Android OS 7.0) или выше.
  • Kotlin 2.2.0 или новее, если приложение написано на Kotlin. Приложений только на Java это не касается.

В качестве эталонного проекта можно использовать наше демо приложения

Demo App

Шаг 1. Импорт SDK​

Настройка build.gradle

Ниже представлен базовый и рекомендуемый код для build.gradle. Вы можете добавлять или удалять любые адаптеры сетей или сервисов в зависимости от ваших требований.

Мы предоставляем удобный и интерактивный способ управления и создания build.gradle в зависимости от выбранных типов рекламы, сетей и сервисов. Чтобы настроить ваш build.gradle, пожалуйста, посетите страницу Настройка Медиационных Сетей.

Generating code...

После этого сохраните файл и выполните Gradle sync.

Шаг 2. Подключите сервисы​

Если вы планируете запускать UA (User Acquisition) кампании, хотите анализировать метрики в BI-инструменте Appodeal без использования MMP или использовать remote config для тестов и настроек, подключите сервисы ниже. Конфигурация из Шага 1 их не включает. Код ниже добавляет адаптеры всех этих сервисов: добавьте его в build.gradle уровня приложения. Если какие-то сервисы вам не нужны, просто удалите их строки или настройте набор на странице Настройка Медиационных Сетей. Каждому сервису также нужна собственная настройка, описанная на его странице:

  • Подключитесь к Adjust или AppsFlyer, чтобы разблокировать функции Атрибуции для ваших UA-кампаний.

  • Подключитесь к Meta (ранее известная как facebook-core) для User Acquisition.

  • Подключитесь к Firebase для Аналитики + remote config для продуктовых A/B тестов и настроек.

Generating code...

После этого сохраните файл и снова выполните Gradle sync.

Шаг 3. Настройка проекта​

Конфигурация сетевой безопасности​

Android 9.0 (API 28) по умолчанию блокирует трафик с открытым текстом (не-HTTPS), что может препятствовать корректному отображению рекламы. Подробнее об этом здесь.

Чтобы предотвратить блокировку системой android http-трафика, выполните следующие действия:

  1. Добавьте файл Network Security Configuration в ваш AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application
...
android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
  1. В файл network_security_config.xml добавьте base-config и установите cleartextTrafficPermitted в значение true :
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>

Настройка AdMob Meta-data (Опционально)​

Важно

Не забудьте установить нашу новую версию Admob Sync инструмента по ссылке и выполнить синхронизацию.

Можете прочитать подробнее про Admob Sync в нашей инструкции.

Добавьте AdMob app id в meta-data тег:

<manifest>
<application>
<!-- Add your AdMob App ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>

Вы можете найти AdMob app id в личном кабинете на странице AdMob: AdMob account

Более подробную информацию о синхронизации с Admob смотрите в нашем руководстве по Admob.

Шаг 4. Инициализация SDK​

Мы рекомендуем вызывать метод инициализации в вашей MainActivity - onCreate только один раз во всем приложении:

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
/// Any other pre-initialization
/// app specific logic

Appodeal.initialize(
context = activity,
appKey = "APP_KEY",
adTypes = adTypes,
callback = object : ApdInitializationCallback {
override fun onInitializationFinished(errors: List<ApdInitializationError>?) {
// Appodeal initialization finished
}
}
)
}
  • activity - Activity вашего приложения.

  • Замените APP_KEY на актуальный ключ вашего приложения. Вы можете найти ключ приложения в списке приложений в вашем личном кабинете.

  • adTypes - Тип рекламы. Инициализируйте только те типы рекламы, которые вы хотите использовать в своем приложении, чтобы избежать запросов рекламы на неиспользуемые типы. Используйте приведенные ниже коды типов для установки предпочтительного формата объявлений:

    • Appodeal.INTERSTITIAL для полноэкранной рекламы;
    • Appodeal.REWARDED_VIDEO для видео с вознаграждением;
    • Appodeal.NATIVE для нативной рекламы;
    • Appodeal.BANNER для баннеров;
    • Appodeal.MREC для баннеров 300*250.
подсказка

Типы рекламы можно комбинировать с помощью оператора or. Например, Appodeal.INTERSTITIAL or Appodeal.REWARDED_VIDEO.

  • callback - Callback инициализации Appodeal ApdInitializationCallback. Callback инициализации используется для определения результата инициализации Appodeal SDK. Вызывается после завершения инициализации Appodeal. Если инициализация прошла успешно, то errors будет null. В противном случае он содержит список errors.

Шаг 5. Настройка типов объявлений​

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

Шаг 6. Следующие шаги​

Конфигурация App Privacy​

Заполните раздел Безопасность данных (Data safety) в Google Play в соответствии с документацией:

App Privacy Details

Добавить политику конфиденциальности​

Обязательно добавьте в приложение в Google Play Политику конфиденциальности со ссылками на:

осторожно

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

  • Удалите разрешение на определение местоположения в своем приложении, добавив следующий код в AndroidManifest.xml а так же тег.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
package="com.example.app">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"
tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
tools:node="remove" />
</manifest>
  • Обновите приложение в Google Play. В процессе публикации убедитесь в отсутствии предупреждений о местоположении в Google Play Console.

Если местоположение используется для основных функций приложения, то:

  • Заполните форму декларации разрешений на определение местоположения в Google Play Console. Подробнее о форме декларации можно прочитать здесь.

  • Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.

к сведению

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

Добавление файла App-ads.txt​

Файл app-ads.txt - это текстовый файл, который предоставляет издателям возможность объявлять своих авторизованных цифровых продавцов.

Вы можете найти более подробную информацию здесь