Перейти к основному содержимому
осторожно
Unity Plugin 3.0.2 устарела. Stable версия - здесь.
Версия: 3.0.2

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

Основная Информация

Версия ВыпускаДата Выпуска
3.0.217.01.2023

Следуйте этому гайду, чтобы получить максимум от Appodeal.

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

Способы Интеграции

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

Если вы планируете запускать UA кампании, хотите анализировать ваши метрики пои помощи Appodeal без использования сторонних MMP, или хотите использовать remote config для тестов и настроек, ваш выбор - the full package.

  1. The Appodeal SDK Full Package - Appodeal SDK предоставляет вам инструменты для развития ваших мобильных приложений и игр. В дополнение к монетизации вы можете воспользоваться сервисами продвижения пользователей UA (User Acquisition) и аналитики в приложении. Вот список сервисов, которые включает Appodeal SDK Full Package:

    • Начните с Appodeal, чтобы получить доступ к Монетизации и Аналитике.
    • Подключите Adjust или AppsFlyer, чтобы открыть функции Атрибуции.
    • Подключите Meta (ранее известная как facebook-core) для User Acquisition.
    • Подключите Firebase для Аналитики, а также для продуктовых A/B тестов и настроек.
  2. The Appodeal SDK Mediation only - Если вы не планируете проводить кампании по привлечению пользователей (UA) и не хотите использовать расширенную аналитику Appodeal, мы создали облегченную версию нашего SDK только с медиацией. Во время интеграции вам не потребуется устанавливать какие-либо дополнительные сервисы, кроме медиации. Это может ускорить процесс интеграции, и вы всегда можете перейти на полный пакет, когда будете готовы.

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

Также помните, что вы всегда можете настроить Appodeal SDK с помощью нашего Appodeal Plugin Manager.


Данное руководство поможет вам интегрировать Appodeal SDK в ваш проект Unity вместе с необходимыми рекламными сетями и настроить рекламные форматы.

Минимальные Требования:
  • Unity 2019.4+, 2020.3.16+, 2021.1.17+, 2022.3.0+
  • Android API level 21 (Android OS 5.0) и выше
  • iOS 12.0 и выше
  • Используйте Xcode 14.0 и выше
  • CocoaPods 1.10.0 и выше
  • Git должен быть установлен на вашем устройстве

Используйте наше демо приложение в качестве примера.

Демо приложение

Посмотрите наше видео-руководство о том, как интегрировать Appodeal SDK в ваше приложение.


Шаг 1. Установите SDK

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

  1. Скопируйте ссылку ниже, перейдите в Window → Package Manager → "+" → Add package from git URL, вставьте скопированную ссылку и нажмите Enter. (Импортируйте EDM, если будет предложено)
https://github.com/appodeal/appodeal-unity-plugin-upm.git#v3.0.2
Версионирование

Используйте Appodeal Plugin Manager для обновления до актуальной версии Appodeal SDK из верхней панели меню Unity (Appodeal → Plugin Configuration). Поддерживается с Unity 2018.3 и выше. Вы найдёте больше информации в нашем блоге.


Шаг 2. Настройте Проект

Если вы хотите использовать Appodeal SDK Full Package вместе с его сервисами, убедитесь, что вы не исключили их в своём проекте (Appodeal → Plugin Configuration).

Проверьте нашу инструкцию Appodeal Plugin Manager для получения более детальной информации.

Настройки Для Android

Настройки Gradle

Подготовьте Gradle для Android 11+

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

  1. Перейдите в Player Settings → Publishing Settings и включите флаг Custom Base Gradle Template.
  2. Перейдите в Assets → Plugins → Android → baseProjectTemplate.gradle, откройте файл и измените classpath 'com.android.tools.build:gradle:3.6.0' на classpath 'com.android.tools.build:gradle:3.6.4'.
Если в проекте уже используется Gradle плагин версии 4.0.1 или выше, оставьте файл без изменений.

External Dependency Manager

External Dependency Manager включен в состав Unity плагина Appodeal. Для разрешения конфликтов зависимостей в вашем проекте выполните следующие шаги:

  1. Перед выбором Android платформы, откройте File → Build Settings → Android настройки в верхней панели меню Unity.

  2. Добавьте флаг Custom Gradle Template для версий Unity 2017.4 - Unity 2019.2. Для Unity 2019.3 и выше поставьте следующие галочки в Build Settings → Player Settings → Publishing settings:

    • Custom Main Gradle Template
    • Custom Gradle Properties Template
  3. Включите настройку Patch mainTemplate.gradle (Assets → External Dependency Manager → Android Resolver → Settings).

  4. Включите настройку Use Jetifier (Assets → External Dependency Manager → Android Resolver → Settings).

  5. Затем выберите Assets → External Dependency Manager → Android Resolver и нажмите Resolve или Force Resolve.

В результате модули, которые необходимы для работы Appodeal SDK, будут добавлены в mainTemplate.gradle вашего проекта.


Сконфигурируйте AndroidManifest.xml

Защита от Перезаписи

Перед тем как вносить изменения в AndroidManifest.xml файл убедитесь, что удалили строку ниже:

<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
Обзор Разрешений

Мы различаем 2 типа разрешений: необходимые разрешения, без которых Appodeal SDK не может работать, и дополнительные разрешения, необходимые для улучшения таргетинга. Для получения дополнительной информации о назначении каждого из разрешений смотрите раздел FAQ.

  • Это необходимые разрешения
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
  • Это дополнительные разрешения
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />

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

Откройте окно Appodeal → Appodeal Settings в верхней панели меню Unity. Установите флажки напротив выбранных разрешений.


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

Особенности Использования Location Разрешения

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

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

  1. Удалите разрешения на доступ к местоположению из своего приложения, добавив следующий код в файл AndroidManifest.xml, находящийся по пути Assets/Plugins/Android под тегом <manifest>.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<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>
  1. Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.

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

  1. Заполните форму декларации разрешений на доступ к местоположению в Google Play Console. Вы можете узнать больше о форме декларации здесь.

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


Поддержка Multidex

  • Если вы используете Unity версии 2019.2 или ниже, вам нужно добавить поддержку multidex в ваш проект. Следуйте этому руководству, чтобы добавить Multidex.

  • Если вы используете Unity v2019.3 и выше, перейдите в Player Settings → Publishing Settings → Other Settings и измените Minimum API Level до 21 или выше.

Требования к Публикации в Google Play

Обязательно добавьте политику конфиденциальности к вашему приложению в Google Play, которая ссылается на политику конфиденциальности Appodeal, чтобы избежать нарушения Google Play Developer Distribution Agreement.


Настройки Для iOS

External Dependency Manager

  • Выключите настойку Link frameworks statically в EDM (Assets -> External Dependency Manager -> iOS Resolver -> Settings -> Link frameworks statically).

Добавьте SKAdNetworkIds

Рекламные сети, используемые в Appodeal медиации поддерживают отслеживание конверсий с помощью Apple SKAdNetwork, что означает возможность отслеживания установок в том случае, когда IDFA недоступен. Для включения данного функционала вам необходимо обновить ключи SKAdNetworkItems, добавив словарь (dictionary) в ваш Info.plist.

Откройте Appodeal → Appodeal Settings окно в верхней панели меню Unity. Установите указанный на скриншоте флажок.


Сконфигурируйте App Transport Security Settings

Для предоставления рекламы, Appodeal SDK необходимо разрешение на произвольные загрузки. Настройте ключ NSAppTransportSecurity, чтобы разрешить произвольные загрузки, выполнив следующие шаги:

Откройте Appodeal → Appodeal Settings окно в верхней панели меню Unity. Установите указанный на скриншоте флажок.


Дополнительные Разрешения

Следующие ключи помогут улучшить производительность рекламных СДК:

  1. NSUserTrackingUsageDescription - Начиная с iOS 14 использование IDFA требует разрешения от конечного пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.
  2. NSLocationWhenInUseUsageDescription - Необходимо добавлять если ваше приложение позволяет Appodeal SDK использовать данные геолокации.
  3. NSCalendarsUsageDescription - Добавление данного ключа рекомендовано рекламными сетями.

Откройте Appodeal → Appodeal Settings окно в верхней панели меню Unity. Установите флажки напротив выбранных ключей.


Возможные Неполадки

1. Ошибка в работе AdColony

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

Сообщение об Ошибке AdColony

AdColony [ ERROR ] : AdColony has ads, but could not display them. AdColony was unable to find the currently visible UIViewController for your app. Please ensure that your key UIWindow has a rootViewController.

Это означает, что rootViewController, использованный в showAd, не принадлежит к первому окну в списке.

Настройка AdMob

Выполняйте этот шаг только если используете Admob адаптер.

AdMob App ID - это уникальный идентификатор, присвоенный вашему приложению.

Чтобы найти AdMob App ID в своем аккаунте AdMob, перейдите в Apps → your application → app settings и скопируйте AdMob App ID.

Добавьте AdMob App Ids при помощи инструмента Appodeal → Appodeal Settings для каждой из платформ.

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


Шаг 3. Инициализируйте SDK

Перед тем, как начать загрузку рекламы, вам необходимо инициализировать Appodeal SDK следующим образом:

  1. Добавьте Namespaces
using AppodealStack.Monetization.Api;
using AppodealStack.Monetization.Common;
  1. Вызовите Метод Инициализации

Добавьте следующий код в метод Start() (или любой другой) главного скрипта MonoBehaviour

class Test : MonoBehaviour
{
private void Start()
{
int adTypes = AppodealAdType.Interstitial | AppodealAdType.Banner | AppodealAdType.RewardedVideo | AppodealAdType.Mrec;
string appKey = "YOUR_APPODEAL_APP_KEY";
AppodealCallbacks.Sdk.OnInitialized += OnInitializationFinished;
Appodeal.Initialize(appKey, adTypes);
}

public void OnInitializationFinished(object sender, SdkInitializedEventArgs e) {}
}
Замените YOUR_APPODEAL_APP_KEY на ключ вашего приложения.

Используйте типы ниже, чтобы установить предпочтительный формат рекламы:

  • AppodealAdType.Interstitial для полноэкранной рекламы.
  • AppodealAdType.RewardedVideo для видео с вознаграждением.
  • AppodealAdType.Banner для баннеров.
  • AppodealAdType.Mrec для баннеров размером 300*250.
Полезный Совет:

Типы рекламы могут быть объединены при помощи | оператора. Например, AppodealAdType.Interstitial | AppodealAdType.RewardedVideo.

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


Шаг 4. Настройте Типы Рекламы

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

Привлекающая внимание полноэкранная реклама со статическим отображением объявления.

Реализация Interstitial

Объявления, инициированные пользователями, в которых пользователи могут получать вознаграждение в приложении в обмен на просмотр объявления.

Реализация Rewarded Ad

Традиционный рекламный формат, который разамещает небольшое рекламное объявление внизу или вверху экрана.

Реализация Banner

Объявления размером 300x250, которые отображаются внутри содержимого приложения.

Реализация MREC