iOS 的展示级收入集成
使用展示级别收入(ILR) SDK API 将展示级别收入数据集成到数据分析服务平台。
阅读时间5 分钟最后更新于 4 天前
先决条件
确保已将 LevelPlay SDK 9.5.0+ 正确集成到应用程序中。请参阅 iOS SDK 集成。
有关展示级别收入 (ILR) SDK 功能和先决条件的更多信息,请参阅展示级别收入服务器端 API。
实现 LPMImpressionDataDelegate
LevelPlay SDK 会触发回传以通知您显示的广告。LPMImpressionDataDelegate 是一个可选的委托,您可以实现此委托来接收展示数据。此监听器将为您提供有关所有广告单位的信息,并且您可以使用展示量收入来识别不同的广告服务。
要将 ImpressionData 监听器添加到应用程序中,请在初始化 LevelPlay SDK 之前声明监听器以避免任何信息丢失。
+ (void)addImpressionDataDelegate:(id<LPMImpressionDataDelegate>)delegate;
LevelPlay SDK 将通知您的委托与展示数据相关的成功回传:
- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData;
设置印象委托
实现并通过调用 在每个广告对象上进行设置。在构建广告对象之后以及加载或显示广告对象之前立即分配广告对象,这样就不会错过展示量。每个委托仅接收分配给它的实例的展示。
LPMImpressionDataDelegatesetImpressionDataDelegate:插页式视频
self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"];[self.interstitialAd setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { } NSLog(@"Interstitial impressionDataDidSucceed: %@", impressionData);}
奖励视频
self.rewardedAd = [[LPMRewardedAd alloc] initWithAdUnitId:@"adUnitId"];[self.rewardedAd setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { } NSLog(@"Rewarded impressionDataDidSucceed: %@", impressionData);}
横幅广告
self.bannerAdView = [[LPMBannerAdView alloc] initWithAdUnitId:@"adUnitId"];[self.bannerAdView setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { } NSLog(@"Banner impressionDataDidSucceed: %@", impressionData);}
删除展示数据监听器
要停止接收广告对象的展示数据,请将通道给 。
nilsetImpressionDataDelegate:[self.interstitialAd setImpressionDataDelegate:nil];[self.rewardedAd setImpressionDataDelegate:nil];[self.bannerAdView setImpressionDataDelegate:nil];
集成 ILR 数据
实现 LPMImpressionDataDelegate 后,您可以将展示数据发送到您自己的专有 BI 工具和 DWH,或者将其与第三方工具集成。
您可以单独引用每个字段,也可以使用 allData 方法获取所有信息:
- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSNumber *revenue = impressionData.revenue; NSString *ad_network = impressionData.adNetwork; NSDictionary *all_data = impressionData.allData;}
以下示例展示了如何将展示级别收入 SDK API 数据与 Google Firebase 数据分析服务集成。您可以按原样使用,或进行任何必要的更改,以便与第三方报告工具或您自己的专有优化工具和数据库集成。
/** 成功显示广告并记录展示数据时调用 **/- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSLog(@"%s", __PRETTY_FUNCTION__); [FIRAnalytics logEventWithName:kFIREventAdImpression parameters:@{ kFIRParameterAdPlatform:@"LevelPlay", kFIRParameterAdSource:(impressionData.ad_network ?: @"No ad_network", kFIRParameterAdFormat:(impressionData.ad_format ?: @"No ad_format"), kFIRParameterAdUnitName:(impressionData.instance_name ?: @"No instance_name"), kFIRParameterCurrency:@"USD", kFIRParameterValue:(impressionData.revenue ?: @0) }];}