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

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

Версия РелизаДата Релиза
3.4.020.11.2024

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

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

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

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

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 тестов и настроек.

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

подсказка

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

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


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

Минимальные Требования:
  • Unity 2021.3.0+, 2022.3.0+, 6000.0.23+
  • Android API level 21 (Android OS 5.0) и выше
  • iOS 13.0 и выше (только если вы используете Firebase, iOS 12.4 если вы используете MyTarget, иначе iOS 12.0)
  • Xcode 15.3 и выше
  • CocoaPods 1.12.0 и выше
  • Git должен быть установлен на вашем устройстве

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

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

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


Шаг 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#v3.4.0
Версионирование

Используйте 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. Перейдите в 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 плагин v1.2.175 или более старый, пожалуйста, изучите этот гайд.

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
    • 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.

  • Это необходимые разрешения
<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. Ошибка С Пустым 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 первого окна предыдущему. Если это не так, 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 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

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

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

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

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