広告プレースメント
各広告ユニットにプレースメンと名を設定することができます(例:「Rewarded VideoLevels」、「INTER_levelEnd」、「RewardedVideoCoinStore」など)。
これにより、異なるプレースメントカテゴリーの統計を集計することができます。
以下のスニペットは、さまざまな広告フォーマットのプレースメント名を設定する方法を示しています。
MaxSdk . CreateBanner ( «ad - unit - ID» , «position» );
MaxSdk . SetBannerPlacement ( «ad - unit - ID» , " «placement» " );
MaxSdk . CreateMRec ( «ad - unit - ID» , «position» );
MaxSdk . SetMRecPlacement ( «ad - unit - ID» , " «placement» " );
MaxSdk . ShowInterstitial ( «ad - unit - ID» , " «placement» " );
MaxSdk . ShowRewardedAd ( «ad - unit - ID» , " «placement» " );
音声をミュート
アプリを起動する際に、一部のメディエーションSDKネットワークの音声をミュートすることができます。
AppLovin SDKをとおしてこの機能をサポートしているネットワークは、Google Bidding、 Google AdMob 、AppLovin、DT Exchange、 Google Ad Manager、LINE、Mintegral、Tencent、Verveです。
他のネットワークについては、この機能が利用可能かどうか、またそのアクセス方法について、ネットワークのアカウントチームにお問い合わせください。
以下のコードスニペットは、この機能をサポートするネットワークで音声をミュートする方法を示しています。
Verboseログを有効化
次の呼び出しでverboseログを有効化します
MaxSdk . SetVerboseLogging ( true );
Verboseログを正常に有効化したことを確認するには、AppLovin SDKのログの初期化セクションに、Verbose Logging On: true
と表示される行を確認してください。
AppLovin SDKは、そのログに「/AppLovinSdk: [AppLovinSdk]
」というタグを付けます。
クリエイティブIDとネットワーク名
さまざまなメディエーションネットワークから表示された広告のクリエイティブIDとネットワーク名を取得できます。
詳細については、the Creative Debugger documentation を参照してください。
DSP名
AppLovin Exchangeから配信されたMAX広告に関して、広告のDspName
プロパティを使用してDSPの名前を取得することができます。
private void OnInterstitialLoadedEvent ( string adUnitId, MaxSdkBase . AdInfo adInfo)
Debug . Log ( " AppLovin Exchange DSP Name: " + adInfo . DspName );
インプレッションレベルのユーザー収益API
Unityプラグインバージョン4.3.0より、クライアント側のインプレッションレベルのユーザー収益データにアクセスすることが可能です。
このデータを使用して、異なるソースやキャンペーンを比較できます。
また、MAX ユーザー収益API を使って、このデータにアクセスすることもできます。
サポートされているすべてのネットワークに対して、Adjust などのモバイル計測パートナーとインプレッションレベルの広告収益データを共有できます。
すべての広告ライフサイクルコールバックで、収益額を取得できます。
以下の例は、「広告収益が支払われた(OnAdRevenuePaidEvent)」コールバックでこれを行う方法を示しています。
// Attach callbacks based on the ad format(s) you are using
MaxSdkCallbacks . Interstitial . OnAdRevenuePaidEvent += OnAdRevenuePaidEvent;
MaxSdkCallbacks . Rewarded . OnAdRevenuePaidEvent += OnAdRevenuePaidEvent;
MaxSdkCallbacks . Banner . OnAdRevenuePaidEvent += OnAdRevenuePaidEvent;
MaxSdkCallbacks . MRec . OnAdRevenuePaidEvent += OnAdRevenuePaidEvent;
private void OnAdRevenuePaidEvent ( string adUnitId, MaxSdkBase . AdInfo adInfo)
double revenue = adInfo . Revenue ;
string countryCode = MaxSdk . GetSdkConfiguration () . CountryCode ; // "US" for the United States, etc - Note: Do not confuse this with currency code which is "USD"
string networkName = adInfo . NetworkName ; // Display name of the network that showed the ad
string adUnitIdentifier = adInfo . AdUnitIdentifier ; // The MAX Ad Unit ID
string placement = adInfo . Placement ; // The placement this ad's postbacks are tied to
string networkPlacement = adInfo . NetworkPlacement ; // The placement ID from the network that showed the ad
以下の例のように、収益値の精度評価を取得することもできます。
string revenuePrecision = adInfo . RevenuePrecision ;
この精度は、以下のいずれかの値を取ります。
"publisher_defined"
収益額はパブリッシャーによって指定された価格です
"exact"
収益額はリアルタイムオークションによって算出されます
"estimated"
収益額はAuto-CPMまたはFBビディングの推定に基づいています
"undefined"
収益額が定義されておらず、推定するのに十分なデータがありません
""
収益と精度が有効ではありません(テストモードなど)
Selective Init
特定の広告ユニットを使用してSDKを初期化することができます。
これを行う場合、SDKは指定した広告ユニット向けに設定されたネットワークのみを初期化します(広告ユニットが指定されていない場合、SDKは現在のセッションにすべての広告ユニットが必要であると仮定します。
その場合、設定されたすべてのネットワークが初期化されます)。
以下の例では、この機能を実装する方法を示しています。
MaxSdkCallbacks . OnSdkInitializedEvent += (MaxSdkBase . SdkConfiguration config) => {
MaxSdk . InitializeSdk ( new []{ " «ad-unit-ID-1» " , " «ad-unit-ID-2» " });
Waterfall Information APIは、広告の現在のウォーターフォール(ロードされたもの、またはロードに失敗したもの)について通知します。APIは、ウォーターフォール内の各広告のロード状態、待ち時間、資格情報、およびメディエーションネットワーク情報を返します。
ウォーターフォール内の広告がロードに失敗した場合、APIはエラー情報を提供します。
このAPIは、Unityプラグインバージョン4.3.13でサポートされています。
AdLoadStateの値
値 説明 0 Ad Load Not Attempted 1 Ad Loaded 2 Ad Failed To Load
例
private void OnInterstitialLoadedEvent ( string adUnitId, MaxSdkBase . AdInfo adInfo)
print ( " Waterfall Name: " + adInfo . WaterfallInfo . Name + " and Test Name: " + adInfo . WaterfallInfo . TestName );
print ( " Waterfall latency was: " + adInfo . WaterfallInfo . LatencyMillis + " milliseconds " );
string waterfallInfoStr = "" ;
foreach ( var networkResponse in adInfo . WaterfallInfo . NetworkResponses )
waterfallInfoStr = " Network -> " + networkResponse . MediatedNetwork +
" \n ...adLoadState: " + networkResponse . AdLoadState +
" \n ...latency: " + networkResponse . LatencyMillis + " milliseconds " +
" \n ...credentials: " + networkResponse . Credentials ;
if ( networkResponse . Error != null )
waterfallInfoStr += " \n ...error: " + networkResponse . Error ;
private void OnInterstitialLoadFailedEvent ( string adUnitId, MaxSdkBase . ErrorInfo errorInfo)
print ( " Waterfall Name: " + errorInfo . WaterfallInfo . Name + " and Test Name: " + errorInfo . WaterfallInfo . TestName );
print ( " Waterfall latency was: " + errorInfo . WaterfallInfo . LatencyMillis + " milliseconds " );
foreach ( var networkResponse in errorInfo . WaterfallInfo . NetworkResponses )
print ( " Network -> " + networkResponse . MediatedNetwork +
" \n ...latency: " + networkResponse . LatencyMillis + " milliseconds " +
" \n ...credentials: " + networkResponse . Credentials +
" \n ...error: " + networkResponse . Error );
アウトプット
Waterfall Name: Default Waterfall and Test Name: Control
Waterfall latency was: 10176 milliseconds
Network -> [MediatedNetworkInfo name: Fyber, adapterClassName: ALInnteractiveMediationAdapter, adapterVersion: 8.1.1.0, sdkVersion: 8.1.1.0]
...latency: 1542 milliseconds
...credentials: System.Collections.Generic.Dictionary`2[System.String,System.Object]
...error: [ErrorInfo code: -5200, message: Unspecified Error, adLoadFailure: Load failed - Failed to load Interstitial ad]
Network -> [MediatedNetworkInfo name: AppLovin, adapterClassName: ALAppLovinMediationAdapter, adapterVersion: 10.3.7, sdkVersion: 10.3.7]
...latency: 245 milliseconds
...credentials: System.Collections.Generic.Dictionary`2[System.String,System.Object]
バナー広告 / MREC広告のリフレッシュをカスタマイズ
バナー広告およびMREC広告のリフレッシュ間隔は、Ad Unitの UIで設定できるように、連携ごとに直接カスタマイズすることが可能です。
リフレッシュ間隔の最小値は10秒、最大値は120秒です。
この範囲内に含まれない値は対象外となります。
以下のコードサンプルでは、これらのリフレッシュ間隔をカスタマイズする方法を示しています。
MaxSdk . SetBannerExtraParameter ( «ad - unit - ID» , " ad_refresh_seconds " , «ad - refresh - rate» )
MaxSdk . SetMRecExtraParameter ( «ad - unit - ID» , " ad_refresh_seconds " , «ad - refresh - rate» )