iOS向けのインプレッションレベルの収益インテグレーション
インプレッションレベル収益(ILR)SDK APIを使用して、インプレッションレベルの収益データをAnalyticsプラットフォームに統合します。
読み終わるまでの所要時間 7 分最終更新 7日前
前提条件
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:Interstitial (インタースティシャル)
self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"];[self.interstitialAd setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSLog(@"Interstitial impressionDataDidSucceed: %@", impressionData);}
Rewarded (リワード型)
self.rewardedAd = [[LPMRewardedAd alloc] initWithAdUnitId:@"adUnitId"];[self.rewardedAd setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSLog(@"Rewarded impressionDataDidSucceed: %@", impressionData);}
Banner
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 Analytics for 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) }];}