O SDK da Tenjin pode obter dados de receitas ao nível da impressão da AppLovin e enviar eventos de receitas para a Tenjin. Esta integração enviará dados relativos às receitas de cada impressão publicitária veiculada pela AppLovin. Aqui estão os passos para a integração:
- Instale o SDK iOS da AppLovin: https://developers.axon.ai/en/max/ios/overview/integration
Certifique-se de que tem instalado a versão mais recente do SDK iOS da AppLovin (> 11.0.0) - Envie os dados de receitas para o Tenjin, utilizando o código de exemplo seguinte.
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)")
}
}Aqui está um exemplo de introdução de dados de receitas por nível de impressão da AppLovin. Para um parâmetro de receitas, utilize o tipo «double», e não o tipo «string».
| Parâmetro | É obrigatório? | Exemplo |
|---|---|---|
| creative_id | Não | 2813803997 |
| colocação | Não | banner de colocação |
| formato | Não | BANNER |
| país | Não | DE |
| ad_revenue_currency | Não | USD |
| posicionamento_na_rede | Não | banner_regular |
| precisão_das_receitas | Não | exato |
| ad_unit_id | Não | a7d1aa174c93c716 |
| receitas | Sim | 4.7455200000000006E-5 |
| nome_da_rede | Sim | APPLOVIN_EXCHANGE |
referência: https://developers.axon.ai/en/max/ios/overview/advanced-settings/#impression-level-user-revenue-API