💡Tips
- 本文示例Code以插屏样式举例,其他广告样式同理
- 回传参数仅供参考,请根据实际业务需要自行选择参数上报回传
- ⚠️ 使用Firebase与AdMob关联集成时,需避免AdMob收益重复上报
- 如下示例code仅供参考,详情请参考Firebase官方文档
#import <FirebaseAnalytics/FIRAnalytics.h>
- (void)didPayRevenueForAd:(MCAdInfo *)ad {
// 获取广告平台名称
NSString *adPlatform;
switch (ad.mediationId) {
case MCMediationIDTypeTopon:
adPlatform = @"TopOn";
break;
case MCMediationIDTypeMax:
adPlatform = @"Max";
break;
default:
adPlatform = @"Your Platform Name";
break;
}
// 创建参数
NSDictionary *params = @{
kFIRParameterAdPlatform: adPlatform,
kFIRParameterAdSource: ad.networkName,
kFIRParameterAdFormat: ad.format.label,
kFIRParameterAdUnitName: ad.networkPlacementId,
kFIRParameterValue: @(ad.revenue),
kFIRParameterCurrency: ad.currency
};
// 上报收益数据
[FIRAnalytics logEventWithName:kFIREventAdImpression parameters:params];
}
- 如下示例code仅供参考,详情请参考Adjust官方文档
#import <AdjustSdk/Adjust.h>
#import <AdjustSdk/ADJAdRevenue.h>
- (void)didPayRevenueForAd:(MCAdInfo *)ad {
// 获取广告平台名称
NSString *adPlatform;
switch (ad.mediationId) {
case MCMediationIDTypeTopon:
adPlatform = @"TopOn";
break;
case MCMediationIDTypeMax:
adPlatform = @"Max";
break;
default:
adPlatform = @"Your Platform Name";
break;
}
// 创建 AdjustAdRevenue 对象
ADJAdRevenue *adjustAdRevenue = [[ADJAdRevenue alloc] initWithSource:adPlatform];
[adjustAdRevenue setRevenue:ad.revenue currency:ad.currency];
[adjustAdRevenue setAdRevenueNetwork:ad.networkName];
[adjustAdRevenue setAdRevenueUnit:ad.networkPlacementId];
[adjustAdRevenue setAdRevenuePlacement:ad.mediationPlacementId];
// 上报收益数据
[Adjust trackAdRevenue:adjustAdRevenue];
}
- 如下示例code仅供参考,详情请参考AppsFlyer官方文档
#import <AppsFlyerLib/AppsFlyerLib.h>
- (void)didPayRevenueForAd:(MCAdInfo *)ad {
// 获取广告平台名称
AppsFlyerAdRevenueMediationNetworkType adPlatform;
switch (ad.mediationId) {
case MCMediationIDTypeTopon:
adPlatform = AppsFlyerAdRevenueMediationNetworkTypeTopon;
break;
case MCMediationIDTypeMax:
adPlatform = AppsFlyerAdRevenueMediationNetworkTypeApplovinMax;
break;
default:
adPlatform = AppsFlyerAdRevenueMediationNetworkTypeCustom;
break;
}
// 创建 AFAdRevenueData 对象
AFAdRevenueData *adRevenueData = [[AFAdRevenueData alloc] initWithMonetizationNetwork:ad.networkName
mediationNetwork:adPlatform
currencyIso4217Code:ad.currency
eventRevenue:@(ad.revenue)];
// 添加额外参数
NSDictionary *additionalParameters = @{
kAppsFlyerAdRevenueCountry: ad.country,
kAppsFlyerAdRevenueAdUnit: ad.networkPlacementId,
kAppsFlyerAdRevenueAdType: ad.format.label,
kAppsFlyerAdRevenuePlacement: ad.mediationPlacementId
};
// 上报收益数据
[[AppsFlyerLib shared] logAdRevenue:adRevenueData additionalParameters:additionalParameters];
}