SDK Tenjin может получать от AppLovin данные о доходах на уровне показов и отправлять события, связанные с доходами, в Tenjin. В рамках этой интеграции будут отправляться данные о доходах по каждому показу рекламы, размещённому через AppLovin. Ниже приведены инструкции по интеграции:
- Установите SDK AppLovin iOS: https://developers.axon.ai/en/max/ios/overview/integration
Убедитесь, что у вас установлена последняя версия SDK AppLovin iOS (> 11.0.0) - Передайте данные о выручке в Tenjin, используя приведенный ниже пример кода.
Objective-C #
Objective-C
- (void)didPayRevenueForAd:(MAAd *)ad {
double revenue = ad.revenue; // In USD
// Create JSON object for Tenjin
NSDictionary *impressionData = @{
@"creative_id" : ad.creativeIdentifier ?: @"",
@"placement" : ad.placement ?: @"",
@"format" : ad.format.displayName ?: @"",
@"country" : [ALSdk shared].configuration.countryCode ?: @"",
@"ad_revenue_currency" : @"USD",
@"network_placement" : ad.networkPlacement ?: @"",
@"revenue_precision" : ad.revenuePrecision ?: @"",
@"ad_unit_id" : ad.adUnitIdentifier ?: @"",
@"revenue" : @(revenue),
@"network_name" : ad.networkName ?: @""
};
// Convert to JSON string
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:impressionData
options:0
error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
// Send to Tenjin
[TenjinSDK appLovinImpressionFromJSON:jsonString];
NSLog(@"Sent impression to Tenjin: %@", jsonString);
}Свифт #
Swift
func didPayRevenue(_ ad: MAAd) {
let revenue = ad.revenue // In USD
// Create JSON object for Tenjin
let impressionData: [String: Any] = [
"creative_id": ad.creativeIdentifier ?? "",
"placement": ad.placement ?? "",
"format": ad.format.displayName ?? "",
"country": ALSdk.shared().configuration.countryCode ?? "",
"ad_revenue_currency": "USD",
"network_placement": ad.networkPlacement ?? "",
"revenue_precision": ad.revenuePrecision ?? "",
"ad_unit_id": ad.adUnitIdentifier ?? "",
"revenue": revenue,
"network_name": ad.networkName ?? ""
]
// Convert to JSON string
do {
let jsonData = try JSONSerialization.data(withJSONObject: impressionData, options: [])
if let jsonString = String(data: jsonData, encoding: .utf8) {
// Send to Tenjin
TenjinSDK.appLovinImpressionFromJSON(jsonString)
print("Sent impression to Tenjin: \(jsonString)")
}
} catch {
print("Error creating JSON: \(error)")
}
}Вот пример ввода данных о выручке по показам из AppLovin. Для параметра выручки используйте тип double, а не string.
| Параметр | Обязательно? | Пример |
|---|---|---|
| creative_id | Нет | 2813803997 |
| размещение | Нет | placementBanner |
| формат | Нет | БАННЕР |
| страна | Нет | DE |
| ad_revenue_currency | Нет | долл. США |
| размещение_в_сети | Нет | banner_regular |
| точность_выручки | Нет | точный |
| id_рекламного_блока | Нет | a7d1aa174c93c716 |
| выручка | Да | 4.7455200000000006E-5 |
| имя_сети | Да | APPLOVIN_EXCHANGE |
ссылка: https://developers.axon.ai/en/max/ios/overview/advanced-settings/#impression-level-user-revenue-API