Руководство по интеграции
Версия Релиза | Дата Релиза |
---|---|
3.3.0-beta.4 | 17.04.2024 |
Следуйте этому руководству, чтобы максимально эффективно использовать Appodeal.
Appodeal SDK даёт вам доступ к 70+ рекламным источникам и заставляет их конкурировать друг с другом на аукционе в реальном времени, максимизируя ваши доходы от рекламы. Функционал Appodeal SDK также включает In-app Bidding, автоматическую оптимизацию UA, сегментацию пользователей & A/B тестирование, перекрестное продвижение, прямые сделки, мгновенные выплаты и многое другое.
Appodeal SDK предоставляет два способа интеграции. Из предложенных ниже вариантов выберите тот, который больше соответствует вашим потребностям:
- Appodeal SDK Full Package
- Appodeal SDK Mediation Only
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 для тестов и настроек, ваш вариант — полный пакет.
The Appodeal SDK Mediation only - Если вы не планируете проводить кампании по привлечению пользователей (UA) и не хотите использовать расширенную аналитику Appodeal, мы создали облегченную версию нашего SDK, только с медиацией. Во время интеграции вам не потребуется устанавливать какие-либо дополнительные сервисы, кроме медиации.Это может ускорить процесс интеграции, и вы всегда можете перейти на полный пакет, когда будете готовы.
Пожалуйста, следуйте этому руководству по интеграции шаг за шагом и выбирайте вариант интеграции, когда это необходимо.
Данное руководство поможет вам интегрировать Appodeal SDK в ваш проект iOS вместе с необходимыми рекламными сетями и настроить рекламные форматы.
- iOS 12.0 или выше. Вы можете интегрировать Appodeal SDK в приложения с меньшим значением минимальной версии iOS. На устройствах, не поддерживающих iOS 12.0+, Appodeal SDK будет отключен.
- Appodeal SDK совмес тим с ARC- и не-ARC проектами.
- Используйте XCode 14.3 и выше.
Используйте наше демо приложение в качестве примера.
Demo App
Шаг 1. Установка
Appodeal SDK (сборки Fat и CocoaPods 3.3.0-beta) работают на Obj-C, Swift и смешанных Obj-C/Swift проектах.
Если в вашем проекте не используется Swift код, добавьте пустой
Swift файл, например Dummy.swift
.
Xcode предложит вам создать Bridging Header после добавления пустого файла Swift, нажмите "Create".
- Appodeal SDK Full Package
- Appodeal SDK Mediation Only
Выберите типы рекламы, которые вас интересуют, адаптеры сетей, которые вы бы хотели включить в свой проект.
Поскольку вы выбрали Appodeal SDK Full Package, убедитесь, что не исключили сервисы из вашего Podfile или SDK package при ручной интеграции.
Мы рекомендуем использовать стандартную конфигурацию, так как отключение некоторых рекомендуемых адаптеров может негативно сказаться на доходах.
Если вы хотите использовать Appodeal в качестве медиации, вам нужно исключить сервисы из вашего Podfile или SDK package при ручной интеграции.
Выберите типы рекламы, которые вас интересуют, адаптеры сетей, которые вы бы хотели включить в свой проект, убедитесь, что исключили сервисы.
Мы рекомендуем использовать стандартную конфигурацию, так как отключение некоторых рекомендуемых адаптеров может негативно сказаться на доходах.
- Cocoa Pods
- Manual
- Настройка Podfile
Минимально необходимая версия CocoaPods 1.10.0 или выше. Более подробную информацию об обновлении CocoaPods вы можете найти по ссылке.
Ниже представлен базовый и рекомендуемый код для Podfile
.
Вы можете добавлять или удалять любые адаптеры сетей или сервисов в зависимости от ваших требований.
Мы предоставляем удобный и интерактивный способ управления и создания Podfile
в зависимости от выбранных типов рекламы, сетей и сервисов.
Чтобы настроить ваш Podfile
, пожалуйста, посетите страницу Настройка Медиационных Сетей.
- Вызов 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/'
- Открывайте ваш проект используя .xcworkspace файл с данного момента.
- Скачайте SDK
Интегрируйте iOS SDK 3.3.0-beta.4
SDK 3.3.0-beta.4
Обратите внимание, что APDBidMachinePangleAdapter работает с версии iOS 13 или выше
- Скопируйте файлы в свой проект
Откройте ваш проект в Xcode и перенесите в него папки из скаченного архива (используйте "Product Navigator view").
Выберите типы объявлений, которые используются в вашем приложении, и рекламные сети, которые вы хотите включить, а также выберите сервисы, если вы используете Appodeal SDK Full Package.
Выберите "Copy items into destination group's folder" и нажмите "Finish".
- Добавьте флаг линковщика
Добавьте флаг-ObjC. Для этого в вашем XCode проекте выберите Build Settings → "other linker flags" → добавьте -ObjC.
Шаг 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.
- Выберите файл 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>
Сконфигурируйте App Transport Security Settings
Для предоставления рекламы, Appodeal SDK необходимо разрешение на произвольные загрузки. Добавьте следующие ключи в info.plist вашего приложения:
- В файле info.plist нажмите Add+ в любом поле первой колонки.
- Добавьте App Transport Security Settings key**.** В качестве его типа во второй колонке выберите Dictionary .
- Нажмите 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 в нашей инструкции.
Следующие ключи помогут улучшить производительность рекламных СДК:
- GADApplicationIdentifier - Если в вашем проекте присутствует
AdMob адаптер, вам необходимо добавить AdMob app ID в ваш
info.plist . Используйте ключ
GADApplicationIdentifier
и в качестве значения используйте AdMob app ID вашего приложения.
Подробнее о синхронизации с Admob в Admob инструкции. - NSUserTrackingUsageDescription - Начиная с iOS 14 использование IDFA требует разрешения от конечного пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.
- 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:
- Swift
- Objective-C
import Appodeal
#import <Appodeal/Appodeal.h>
Мы рекомендуем использовать метод инициализации SDK в функции жизненного
цикла приложения AppDelegate - didFinishLaunchingWithOptions
:
- Swift
- Objective-C
@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
}
}
@interface MyAppDelegate () <AppodealInitializationDelegate>
@end
@implementation MyAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Appodeal setAutocache:NO types:AppodealAdTypeInterstitial]; [Appodeal setLogLevel:APDLogLevelVerbose];
// New optional delegate for initialization completion
[Appodeal setInitializationDelegate:self];
/// Any other pre-initialization
/// app specific logic
[Appodeal initializeWithApiKey:@"APP KEY" types:AppodealAdTypeInterstitial];
return YES;
}
- (void)appodealSDKDidInitialize {
// Appodeal SDK did complete initialization
}
@end
adTypes
- это параметр отвечающий за рекламные форматы (прим.
AppodealAdTypeRewardedVideo, AppodealAdTypeInterstitial).
Инициализируйте только те типы рекламы, которые вы хотите использовать в
своем приложении, чтобы не получать запросы к
неиспользуемым.appodealSDKDidInitialize - делегат завершения
инициализации Appodeal SDK.
Убедитесь, что вы заменили строку YOUR_APP_KEY
вашим ключом
приложения. Вы можете найти его в списке приложений в вашем
личном кабинете.
Шаг 4. Конфигурация Типов Рекламы
Appodeal SDK импортирован в ваш проект и вы готовы реализовать показ рекламы. Appodeal предоставляет множество рекламных форматов, вы можете выбрать те, которые наиболее оптимально подходят вашему приложению.
Привлекающая внимание полноэкранная реклама со статическим отображением объявления.
Объявления, инициированные пользователями, в которых пользователи могут получать вознаграждение в приложении в обмен на просмотр объявления.
Традиционный рекламный формат, который разамещает небольшое рекламное объявление внизу или вверху экрана.
Объявления размером 300x250, которые отображаются внутри содержимого приложения.
Формат рекламы, который органично вписывается в контекст контента приложения.