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

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

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

  1. Загрузите External Dependency Manager (файл .tgz) v1.2.175 или новее с этого веб-сайта.

  2. Импортируйте EDM в ваш проект Unity, добавив загруженный архив через Unity Package Manager (Window → Package Manager → "+" → Add package from tarball).

  3. Скопируйте ссылку ниже, перейдите в Window → Package Manager → "+" → Add package from git URL, вставьте скопированную ссылку туда и нажмите Enter.

https://github.com/appodeal/appodeal-unity-plugin-upm.git#v4.4.0
Управление версиями

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

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

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

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

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

Настройки Gradle​

Подготовка вашей сборки Gradle для Android 11

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

  1. Перейдите в Preferences → External Tools и обновите версию Gradle до 7.6.
  2. Перейдите в Player Settings → Publishing Settings и включите флаг Custom Base Gradle Template.
  3. Перейдите в Assets → Plugins → Android → baseProjectTemplate.gradle, откройте файл и измените 'com.android.application' version '7.4.2', 'com.android.library' version '7.4.2' на 'com.android.application' version '7.3.1', 'com.android.library' version '7.3.1'.
Если у вас установлен EDM Plugin v1.2.175 или старше, пожалуйста, проверьте это руководство.

External Dependency Manager​

Плагин Appodeal Unity использует пакет External Dependency Manager. Вам необходимо выполнить следующие шаги для разрешения зависимостей 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
    • Custom Gradle Settings Template
  3. Включите опцию Patch mainTemplate.gradle (Assets → External Dependency Manager → Android Resolver → Settings).

  4. Включите опцию Copy and patch settingsTemplate.gradle from 2022.2 (Assets → External Dependency Manager → Android Resolver → Settings).

  5. Включите опцию Use Jetifier (Assets → External Dependency Manager → Android Resolver → Settings).

  6. Затем запустите 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 section.

  • Это обязательные разрешения
<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" />

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

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


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

Особенности использования разрешения местоположения

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

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

  1. Удалите разрешение на определение местоположения в вашем приложении, добавив следующий код под тегом <manifest> в файле AndroidManifest.xml, расположенном в каталоге Assets/Plugins/Android.
<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 v2019.2 и более ранние версии, вам необходимо добавить поддержку Multidex в ваш проект. Следуйте этому руководству, чтобы добавить Multidex.

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

Требования к распространению в Google Play

Убедитесь, что вы добавили Политику конфиденциальности в свое приложение в Google Play, которая содержит ссылку на Политику конфиденциальности Appodeal, чтобы избежать нарушения Соглашения о распространении для разработчиков Google Play.


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

External Dependency Manager​

  • Отключите опцию Link frameworks statically в EDM (Assets → External Dependency Manager → iOS Resolver → Settings → Link frameworks statically).

Добавить SKAdNetworkIds​

important

Для обеспечения корректного сканирования пакетов SKAdNetwork используйте семантическое версионирование (SemVer) для версии вашего приложения.

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

Откройте окно Appodeal → Appodeal Settings в верхнем меню Unity. Отметьте соответствующий флажок.


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

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

Откройте окно Appodeal → Appodeal Settings в верхнем меню Unity. Отметьте соответствующий флажок.


Другие описания использования функций​

Для повышения эффективности рекламы могут быть добавлены следующие записи:

  1. NSUserTrackingUsageDescription - Начиная с iOS 14, использование IDFA требует разрешения от пользователя. Следующая запись должна быть добавлена для повышения эффективности рекламы.
  2. NSLocationWhenInUseUsageDescription - Запись требуется, если ваше приложение разрешает Appodeal SDK использовать данные о местоположении.
  3. NSCalendarsUsageDescription - Рекомендуется некоторыми рекламными сетями.

Откройте окно Appodeal → Appodeal Settings в верхнем меню Unity. Отметьте соответствующий флажок.


Известные проблемы​

1. Проблема пустого CFBundleVersion​

В результате этой ошибки обнаруженной в Xcode 14 и сохраняющейся в Xcode 15, значения для Build и Version могут быть пустыми в вашем файле .xcworkspace по пути навигации Target → General → Identity.

Если вы не можете загрузить свое приложение в App Store из-за ошибки Connect Operation Error CFBundleShortVersionString is empty but must be composed of one to three period-separated integers, или не получаете рекламу в своем приложении после выполнения вышеуказанных шагов интеграции Appodeal SDK, убедитесь, что у вас есть версия пакета в сгенерированном проекте Xcode.

Перейдите к файлу .xcworkspace → Target → General → Identity → и добавьте версию вашего приложения, если она пуста.

2. Проблема с отображением AdColony​

AdColony всегда проверяет, совпадает ли rootViewController ключевого окна с переданным 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 Bidding теперь доступен с Appodeal SDK 3.2.0.

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

Подробнее о Admob Sync вы можете прочитать в нашем руководстве.

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

Чтобы найти идентификатор приложения AdMob в вашей учетной записи AdMob, перейдите в Приложения → ваше приложение → настройки приложения и скопируйте идентификатор приложения AdMob.

Добавьте идентификаторы приложений AdMob из меню Appodeal → Appodeal Settings для каждой платформы.

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


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

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

  1. Импорт пространств имен
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.

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


Подробную документацию вы можете найти здесь