Руководство по интеграции
Appodeal SDK даёт вам доступ к 70+ рекламным источникам и заставляет их конкурировать друг с другом на аукционе в реальном времени, максимизируя ваши доходы от рекламы. Функционал Appodeal SDK также включает In-app Bidding, автоматическую оптимизацию UA, сегментацию пользователей & A/B тестирование, перекрестное продвижение, прямые сделки, мгновенные выплаты и многое другое.
Данное руководство поможет вам интегрировать Appodeal SDK в ваш проект iOS вместе с необходимыми рекламными сетями и настроить рекламные форматы.
- iOS 15.0 и выше
- Xcode 26.0 и выше при интеграции через Swift Package Manager; для CocoaPods достаточно Xcode 16.4
Используйте наше демо приложение в качестве примера.
Демо приложение
Шаг 1. Установка
Appodeal SDK (сборки Fat и CocoaPods 4.4.0) работают на Obj-C, Swift и смешанных Obj-C/Swift проектах.
Если в вашем проекте не используется Swift код, добавьте пустой
Swift файл, например Dummy.swift.
Xcode предложит вам создать Bridging Header после добавления пустого файла Swift, нажмите "Create".
Рекомендуемая конфигурация ниже включает адаптеры сервисов. Если какие-то из них вам не нужны, исключите их из вашего Podfile или из SDK package при ручной интеграции.
Мы рекомендуем использовать стандартную конфигурацию, так как отключение некоторых рекомендуемых адаптеров может негативно сказаться на доходах.
- Cocoa Pods
- Swift Package Manager
- Manual
- Настройка Podfile
Ниже представлен базовый и рекомендуемый код для Podfile. Вы можете добавлять или удалять любые адаптеры сетей или сервисов в зависимости от ваших требований.
Мы предоставляем удобный и интерактивный способ управления и создания Podfile в зависимости от выбранных типов рекламы, сетей и сервисов.
Чтобы настроить ваш Podfile, пожалуйста, посетите страницу Настройка Медиационных Сетей.
Appodeal 4.4.0 полностью совместим с iOS 18. Если вы проинтегрировали Appodeal и столкнулись с проблемами во время
публикации вашего приложения в AppStore, пожалуйста, обновитесь до версии Appodeal 4.4.0. Если у вас нет возможности для обновления,
удалите 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
Generating code...
- Вызов 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
- Открывайте ваш проект используя .xcworkspace файл с данного момента.
Чтобы интегрировать Appodeal SDK через SPM:
-
В Xcode выберите File → Add Package Dependencies…
-
В строке поиска введите URL GitHub-репозитория Appodeal Swift Package и выберите пакет, когда он появится в списке.
https://github.com/appodeal/Appodeal-Swift-Package -
Выберите Dependency Rule и укажите в Add to Project таргет вашего приложения.
-
Нажмите Add Package, чтобы подключить
AppodealSDK. -
Повторите шаги 1–4 для каждого адаптера рекламной сети или сервиса, который вам нужен. Полный список ссылок на пакеты — на странице Настройка Медиационных Сетей.
При интеграции через Swift Package Manager необходимо добавить флаг -ObjC в Other Linker
Flags в Build Settings вашего проекта:
- Выберите проект в Project Navigator
- Выберите ваш таргет
- Перейдите на вкладку Build Settings
- Найдите "Other Linker Flags"
- Добавьте
-ObjCв список флагов
Без этого флага SDK не будет работать корректно.
- Скачайте SDK
Интегрируйте iOS SDK 4.4.0
SDK 4.4.0
- Скопируйте файлы в ваш проект
Откройте ваш проект в Xcode, затем перетащите скачанные фреймворки в ваш проект (используйте "Product Navigator view").
Выберите "Copy items into destination group's folder" и нажмите "Finish".
- Добавьте Linker flag
Теперь вам необходимо добавить флаг линковщика -ObjC. В вашем проекте XCode нажмите
Project -> Build Settings -> Найдите "Other Linker Flags" -> Добавьте -ObjC.
Добавьте библиотеки в Build Phases -> Link Binary with Libraries для обеспечения совместимости с категориями Objective-C и низкоуровневыми системными функциями:
libc++.tbdlibresolv.tbdlibz.tbdlibc++abi.tbdlibbz2.tbd
- Настройте Embed and Sign для фреймворков
В вашем проекте Xcode перейдите в Project -> General -> раздел Frameworks, Libraries, and Embedded Content. Убедитесь, что следующие фреймворки установлены в режим Embed & Sign:
ATOM.xcframeworkAdjustSigSdk.xcframeworkAppLovinSDK.xcframeworkDTBiOSSDK.xcframeworkFBAEMKit.xcframeworkFBSDKCoreKit.xcframeworkFBSDKCoreKit_Basics.xcframeworkInMobiSDK.xcframeworkMobileFuseSDK.xcframeworkMolocoSDK.xcframeworkOMSDK_Ogury.xcframeworkOMSDK_Pubmatic.xcframeworkOMSDK_Pubnativenet.xcframeworkOMSDK_Smaato.xcframeworkOguryAds.xcframeworkOguryCore.xcframeworkOgurySdk.xcframeworkOpenWrapSDK.xcframeworkSmaatoSDKBanner.xcframeworkSmaatoSDKCore.xcframeworkSmaatoSDKInAppBidding.xcframeworkSmaatoSDKInterstitial.xcframeworkSmaatoSDKNative.xcframeworkSmaatoSDKOpenMeasurement.xcframeworkSmaatoSDKOutstream.xcframeworkSmaatoSDKRewardedAds.xcframeworkSmaatoSDKRichMedia.xcframeworkSmaatoSDKVideo.xcframeworkStartApp.xcframeworkTaurusxAdsSDK.xcframework
Шаг 2. Подключите сервисы
Если вы планируете запускать UA (User Acquisition) кампании, хотите анализировать метрики в BI-инструменте Appodeal без использования MMP или использовать remote config для тестов и настроек, подключите сервисы ниже. Их адаптеры уже входят в рекомендуемую конфигурацию из Шага 1 — подключите те, которые вам нужны, а остальные исключите на странице Настройка Медиационных Сетей.
-
Подключитесь к Adjust или AppsFlyer, чтобы разблокировать функции Атрибуции для ваших UA-кампаний.
-
Подключитесь к Meta (ранее известная как facebook-core) для User Acquisition.
-
Подключитесь к Firebase для Аналитики + remote config для продуктовых A/B те стов и настроек.
Шаг 3. Подготовьте Ваше Приложение
Добавление SKAdNetworkIds
Чтобы гарантировать правильное сканирование пакетов SKAdNetwork, следуйте формату Semantic Versioning (SemVer) при указании версии вашего приложения.
Рекламные сети, используемые в медиации 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.
- Выберите файл Info.plist в Project navigator вашего Xcode проекта
- Нажмите правой кнопкой мыши нафайл Info.plist → Open As → Source Code
- Скопируйте SKAdNetworkItems из списка ниже и вставьте в ваш Info.plist файл.
Ниже представлены SKAdNetworks идентификаторы в формате Info.plist:
SKAdNetworks IDs в формате Info.plist
<key>SKAdNetworkItems</key>
<array>
</array>