ドキュメント

​
​

Development

User Acquisition

Monetization

産業

LevelPlay SDK - iOS

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - iOS

Unity LevelPlay
​
​
iOS SDK
  • 使用の準備
  • 規制と設定
    • 規制の詳細設定
    • iOS の詳細設定
    • プライバシー設定と設定
    • Apple のアプリプライバシー質問票
    • インプレッションレベルの収益インテグレーション
    • AdInfo インテグレーションによる LevelPlay リスナー
  • Ad formats (広告フォーマット)
  • メディエーションネットワーク
  • インテグレーションのテスト
  1. ゲームの成長
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. iOS 開発者向け LevelPlay SDK

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.add(_ delegate: any LPMImpressionDataDelegate)
LevelPlay SDKは、インプレッションデータに関連する成功ポストバックをデリゲートに通知します。
- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData;
func impressionDataDidSucceed(_ impressionData:LPMImpressionData)

インプレッションデリゲートの設定

LPMImpressionDataDelegate
を実装し、
setImpressionDataDelegate:
を呼び出して各広告オブジェクトに設定します。インプレッションを逃さないように、広告オブジェクトの構築直後、ロードまたは表示する前に割り当ててください。各デリゲートは、割り当てられたインスタンスのインプレッションのみを受け取ります。
注
広告オブジェクトのインプレッションデリゲートの保持が弱い。デリゲートへの強力なリファレンスを保持します。そうしないと、デリゲートが割り当て解除され、コールバックの受信が停止される可能性があります。

Interstitial (インタースティシャル)

self.interstitialAd = [[LPMInterstitialAd alloc] initWithAdUnitId:@"adUnitId"];[self.interstitialAd setImpressionDataDelegate:self];#pragma mark - LPMImpressionDataDelegate Methods- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSLog(@"Interstitial impressionDataDidSucceed: %@", impressionData);}
self.interstitialAd = LPMInterstitialAd(adUnitId: "adUnitId")self.interstitialAd.setImpressionDataDelegate(self)// MARK:LPMImpressionDataDelegatefunc impressionDataDidSucceed(_ impressionData:LPMImpressionData) { print("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);}
self.rewardedAd = LPMRewardedAd(adUnitId: "adUnitId")self.rewardedAd.setImpressionDataDelegate(self)// MARK:LPMImpressionDataDelegatefunc impressionDataDidSucceed(_ impressionData:LPMImpressionData) { print("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);}
self.bannerAdView = LPMBannerAdView(adUnitId: "adUnitId")self.bannerAdView.setImpressionDataDelegate(self)// MARK:LPMImpressionDataDelegatefunc impressionDataDidSucceed(_ impressionData:LPMImpressionData) { print("Banner impressionDataDidSucceed: \(impressionData)")}

インプレッションデータの削除

広告オブジェクトのインプレッションデータの受信を停止するには、
nil
を
setImpressionDataDelegate:
に渡します。
[self.interstitialAd setImpressionDataDelegate:nil];[self.rewardedAd setImpressionDataDelegate:nil];[self.bannerAdView setImpressionDataDelegate:nil];
interstitialAd.setImpressionDataDelegate(nil)rewardedAd.setImpressionDataDelegate(nil)bannerAdView.setImpressionDataDelegate(nil)
注
LevelPlay SDK 7.1.0 リリースでは、setImpressionDataDelegate は非推奨となり、addImpressionDataDelegate に置き換えられます。

ILR データの統合

LPMImpressionDataDelegate を実装したら、インプレッションデータを独自のプロプライエタリ BI ツールと DWH に送信するか、サードパーティ製のツールと統合できます。
重要
返されるデータに null 値が含まれている可能性があります。データを割り当てる前に保護を追加して、潜在的なクラッシュを回避してください。
各フィールドを個別に参照するか、 allData メソッドを使用してすべての情報を取得できます。
- (void)impressionDataDidSucceed:(LPMImpressionData *)impressionData { NSNumber *revenue = impressionData.revenue; NSString *ad_network = impressionData.adNetwork; NSDictionary *all_data = impressionData.allData;}
func impressionDataDidSucceed(_ impressionData:LPMImpressionData) { let revenue:Float = impressionData.revenue as?Float ??0.0 let adNetwork:String = impressionData.adNetwork ?? "unknown" let allData:Dictionary = impressionData.allData as?辞書<string, any>?? [:] }
以下の例は、インプレッションレベル収益SDK APIデータをGoogle Analytics for Firebaseと統合する方法を示しています。そのまま使用することも、サードパーティ製のレポート作成ツールや独自のプロプライエタリ最適化ツールおよびデータベースと統合するために必要な変更を加えることもできます。
重要
内部パラメーターが null でないことを確認します。
/** 広告が正常に表示され、インプレッションデータが記録されたときに呼び出されます。**/- (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) }];}
/** 広告が正常に表示され、インプレッションデータが記録されたときに呼び出されます。**/ func impressionDataDidSucceed(_ impressionData:LPMImpressionData) { print("\(#function)") Analytics.logEvent( AnalyticsEventAdImpression, parameters: [ AnalyticsParameterAdPlatform:"LevelPlay", AnalyticsParameterAdSource: impressionData.ad_network ??"No ad_network", AnalyticsParameterAdFormat: impressionData.ad_format ??"No ad_format", AnalyticsParameterAdUnitName: impressionData.instance_name ??"No instance_name", AnalyticsParameterCurrency:"USD", AnalyticsParameterValue: impressionData.revenue ??0, ])}

Copyright © 2026 Unity Technologies
法規事項プライバシーポリシークッキーDocumentation Terms of Use私の個人情報を販売または共有しないプライバシーに関する選択 (クッキー設定)

"Unity" の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です (詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

一部のページは利便性向上のため機械翻訳を使用しており、内容に不正確な表現が含まれる場合があります。内容に齟齬または不一致が生じた場合は、英語版を正本とします。

  • このページ
    • 前提条件

    • LPMImpressionDataDelegate の実装

      • インプレッションデリゲートの設定

        • Interstitial (インタースティシャル)

        • Rewarded (リワード型)

        • Banner

      • インプレッションデータの削除

    • ILR データの統合


このページの問題を報告する