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

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

Версия РелизаДата Релиза
3.4.0-beta.211.10.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 для Аналитики + remote config для продуктовых A/B тестов и настроек.

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


подсказка

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

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

Минимальные требования:
  • iOS 13.0 и выше (только если вы используете Firebase, 12.4 - если вы используете MyTarget, в противном случае достаточно iOS 12.0 и выше). Вы можете интегрировать Appodeal SDK в приложения с меньшим значением минимальной версии iOS. На устройствах, не поддерживающих iOS 12.0+, Appodeal SDK будет отключен.
  • Appodeal SDK совместим с ARC- и не-ARC проектами.
  • XCode 15.3 и выше.

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

Demo App

Шаг 1. Установка

Appodeal SDK (сборки Fat и CocoaPods 3.4.0-beta.2) работают на Obj-C, Swift и смешанных Obj-C/Swift проектах.

Objective C

Если в вашем проекте не используется Swift код, добавьте пустой Swift файл, например Dummy.swift.

Xcode предложит вам создать Bridging Header после добавления пустого файла Swift, нажмите "Create".

Выберите типы рекламы, которые вас интересуют, адаптеры сетей, которые вы бы хотели включить в свой проект.

Отключение рекламных сетей

Поскольку вы выбрали Appodeal SDK Full Package, убедитесь, что не исключили сервисы из вашего Podfile или SDK package при ручной интеграции.

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

  1. Настройка Podfile
предупреждение

Минимально необходимая версия CocoaPods 1.10.0 или выше. Более подробную информацию об обновлении CocoaPods вы можете найти по ссылке.

Настройка Podfile

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

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

Поддержка iOS 18

Appodeal 3.4.0-beta.2 полностью совместим с iOS 18. Если вы проинтегрировали Appodeal 3.4.0-beta.1 и столкнулись с проблемами во время публикации вашего приложения в AppStore, пожалуйста, обновитесь до версии Appodeal 3.4.0-beta.2. Если у вас нет возможности для обновления, удалите APDSmaatoAdapter и BidMachineSmaatoAdapter из вашего Podfile или пропишите post-install hook приведенный ниже, чтобы исправить проблему.

post_install do |installer|
xcframework_path = "#{installer.sandbox.root}/smaato-ios-sdk/vendor"

Dir.glob("#{xcframework_path}/**/*.framework/OMSDK_Smaato").each do |binary|
if File.exist?(binary)
puts "Stripping bitcode from: #{binary}"
system("xcrun bitcode_strip #{binary} -r -o #{binary}")
end
end
end
Podfile

  1. Вызов pod install

Запустите $ pod install , чтобы настроить зависимости CocoaPods или $ pod update , чтобы обновить их. Если у вас нет загруженных Pod'ов, для того, чтобы упростить управление зависимостями, вам нужно установить Cocoapods, следуя этой интрукции CocoaPods

sudo gem install cocoapods

Если у вас возникли проблемы с версией Cocoapods, используйте следующий код:

rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod update

Если официальный репозиторий не отвечает, вы можете обновить Pod'ы c помощью зеркального репозитория Appodeal, добавив следующий код:

source 'https://github.com/appodeal/CocoaPods.git'
source 'https://cdn.cocoapods.org/'

Если вы получаете следующую ошибку [!] CDN: trunk URL couldn't be downloaded: https://cdn.cocoapods.org/Specs/0/3/e/Appodeal/${VERSION}/Appodeal.podspec.json Response: Failure when receiving data from the peer используйте следующий код:

pod repo remove trunk
  1. Открывайте ваш проект используя .xcworkspace файл с данного момента.

Шаг 2. Подготовьте Ваше Приложение

Добавление SKAdNetworkIds

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

к сведению

Если вы используете Xcode 14+ и SwiftUI в вашем приложении, тогда вы можете заметить, что Info.plist файл по-умолчанию отсутствует в вашем project navigator.

Вам необходимо перейти по пути Target → Info tab → Custom iOS Target Properties и сделать любые изменения в файле, достаточно добавить пустую строку, и Info.plist файл появится в вашем project navigator.

  1. Выберите файл Info.plist в Project navigator вашего Xcode проекта
  2. Нажмите правой кнопкой мыши нафайл Info.plist → Open As → Source Code
  3. Скопируйте SKAdNetworkItems из списка ниже и вставьте в ваш Info.plist файл.

Ниже представлены SKAdNetworks идентификаторы в формате Info.plist:

SKAdNetworks IDs в формате Info.plist
<key>SKAdNetworkItems</key>
<array>

</array>

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

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

  1. В файле info.plist нажмите Add+ в любом поле первой колонки.
  2. Добавьте App Transport Security Settings key**.** В качестве его типа во второй колонке выберите Dictionary .
  3. Нажмите Add+ в конце строки App Transport Security Settings keyи выберите Allow Arbitrary loads . Установите тип Boolean и значение Yes .

Вы можете добавить ключ непосредственно в файл info.plist с помощью следующего кода:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

Описание Геолокации (Опционально)

NSLocationWhenInUseUsageDescription - Необходимо добавлять если ваше приложение позволяет Appodeal SDK использовать данные геолокации.

<key>NSLocationWhenInUseUsageDescription</key>
<string><App Name> needs your location for analytics and advertising purposes</string>
к сведению

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

Интегрируйте Core Location и запросите разрешение у пользователей следуя официальной документации.

Дополнительные Параметры

Важно

Admob Bidding теперь доступен с Appodeal SDK 3.2.0.

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

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

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

  1. GADApplicationIdentifier - Если в вашем проекте присутствует AdMob адаптер, вам необходимо добавить AdMob app ID в ваш info.plist . Используйте ключ GADApplicationIdentifier и в качестве значения используйте AdMob app ID вашего приложения.
    Подробнее о синхронизации с Admob в Admob инструкции.
  2. NSUserTrackingUsageDescription - Начиная с iOS 14 использование IDFA требует разрешения от конечного пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.
  3. NSCalendarsUsageDescription - Добавление данного ключа рекомендовано рекламными сетями.
<key>GADApplicationIdentifier</key>
<string>YOUR_ADMOB_APP_ID</string>
<key>NSUserTrackingUsageDescription</key>
<string><App Name> needs your advertising identifier to provide personalised advertising experience tailored to you</string>
<key>NSCalendarsUsageDescription</key>
<string><App Name> needs your calendar to provide personalised advertising experience tailored to you</string>
к сведению

Обратите внимание: если вы удалили адаптер Admob, то не забудьте также удалить BDMNotsyAdapter используя инструкцию.

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

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

Импортируйте Appodeal в AppDelegate (AppDelegate.m) класс и инициализируйте SDK:

import Appodeal

Мы рекомендуем использовать метод инициализации SDK в функции жизненного цикла приложения AppDelegate - didFinishLaunchingWithOptions:

@UIApplicationMain
final class MyAppDelegate: UIResponder, UIApplicationDelegate, AppodealInitializationDelegate {
func application(
_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
Appodeal.setAutocache(false, types: .interstitial)
Appodeal.setLogLevel(.verbose)

// New optional delegate for initialization completion
Appodeal.setInitializationDelegate(self)
/// Any other pre-initialization
/// app specific logic

Appodeal.initialize(
withApiKey: "APP_KEY",
types: .interstitial
)

return true
}
func appodealSDKDidInitialize() {
// Appodeal SDK did complete initialization
}
}

adTypes - это параметр отвечающий за рекламные форматы (прим. AppodealAdTypeRewardedVideo, AppodealAdTypeInterstitial). Инициализируйте только те типы рекламы, которые вы хотите использовать в своем приложении, чтобы не получать запросы к неиспользуемым.appodealSDKDidInitialize - делегат завершения инициализации Appodeal SDK.

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

Шаг 4. Конфигурация Типов Рекламы

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

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

Реализация Interstitial

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

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

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

Реализация Banner

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

Реализация MREC

Формат рекламы, который органично вписывается в контекст контента приложения.

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

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

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

Сконфигурируйте App Privacy в соответствии с документацией:

App Privacy Details

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

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

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