Перейти к основному содержимому
осторожно
iOS SDK 3.0.2 устарела. Stable версия - здесь.
Версия: 3.0.2

Методы обратного вызова для отслеживания дохода от рекламы

Appodeal SDK позволяет вам получить данные о доходе от рекламы на уровне показа с помощью Ad Revenue Callbacks. Эти данные включают в себя такую информацию, как название рекламной сети, доход, тип рекламы, и т.д.

Данные о доходе от рекламы на уровне показа могут использоваться для отправки в сторонние SDK, такие как Firebase, для всех поддерживаемых рекламных сетей.

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

Минимальные требования:

Appodeal SDK 3.0.1+

Реализация Методов Обратного Вызова

extension YourViewController: UIViewController, AppodealAdRevenueDelegate {
override func viewDidLoad() {
super.viewDidLoad()
Appodeal.setAdRevenueDelegate(self)
}

func didReceiveRevenue(forAd ad: AppodealAdRevenue) {
let parameters: [String: Any] = [
"network": ad.networkName,
"ad_unit": ad.adUnitName,
"placement": ad.placement,
"revenue_precision": ad.revenuePrecision,
"demand": ad.demandSource,
"currency": ad.currency,
"revenue": ad.revenue,
"ad_type": ad.adTypeString
]

}
}

Описание Appodeal Ad Revenue

AppodealAdRevenue - представляет информацию о доходах.

ПараметрТипОписание
networkNameStringИмя рекламной сети.
demandSourceStringИмя источника спроса и имя участника торгов в случае показа в результате торгов в реальном времени.
adUnitNameStringУникальное название рекламного блока.
placementStringИмя плейсмента в Appodeal.
revenueDoubleСумма дохода от объявления или 0, если его не существует.
adTypeStringStringТип рекламы Appodeal в строковом представлении.
currencyStringТекущая валюта, поддерживаемая Appodeal (USD) в строковом представлении.
revenuePrecisionString

Точность дохода, которая может быть:

  • exact - программный доход - это итоговая цена аукциона;
  • publisher_defined - доход от кросс-промо кампаний;
  • estimated - доход на основе исторических данных сети eCPM и pricefloor;
  • undefined - сумма дохода неопределена;

Вариант Использования

Помните:

Если вы интегрировали аналитику, например Firebase, используя это руководство с Appodeal, то никаких дополнительных действий не требуется.

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

extension YourViewController: UIViewController, AppodealAdRevenueDelegate {
override func viewDidLoad() {
super.viewDidLoad()
Appodeal.setAdRevenueDelegate(self)
}

func didReceiveRevenue(forAd ad: AppodealAdRevenue) {
let parameters: [String: Any] = [
"network": ad.networkName,
"ad_unit": ad.adUnitName,
"placement": ad.placement,
"revenue_precision": ad.revenuePrecision,
"demand": ad.demandSource,
"currency": ad.currency,
"revenue": ad.revenue,
"ad_type": ad.adTypeString
]

//AppsFlyer
let adRevenueParams:[AnyHashable: Any] = [
kAppsFlyerAdRevenueAdUnit : ad.adUnitName,
kAppsFlyerAdRevenueAdType : ad.adTypeString
]

AppsFlyerAdRevenue.shared().logAdRevenue(
monetizationNetwork: ad.networkName,
mediationNetwork: MediationNetworkType.appodeal,
eventRevenue: ad.revenue,
revenueCurrency: ad.currency,
additionalParameters: adRevenueParams
)

//Adjust
let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourcePublisher)
adRevenue.setRevenue(ad.revenue, currency: ad.currency)
adRevenue.adRevenueUnit(ad.adUnitName)
adRevenue.adRevenueNetwork(ad.networkName)
Adjust.trackAdRevenue(adRevenue)

//Firebase
Analytics.logEvent(AnalyticsEventAdImpression, parameters: [
AnalyticsParameterAdFormat: ad.adTypeString,
AnalyticsParameterAdSource: ad.networkName,
AnalyticsParameterAdUnitName: ad.adUnitName,
AnalyticsParameterAdCurrency: ad.currency,
AnalyticsParameterValue: ad.revenue
])
}
}