コンテンツにスキップ

アドバンス設定

広告プレースメント

各広告ユニットにプレースメント名を設定することができます(例:「Rewarded VideoLevels」、「INTER_levelEnd」、「RewardedVideoCoinStore」など)。 これにより、異なるプレースメントカテゴリーの統計を集計することができます。 以下のスニペットは、さまざまな広告フォーマットのプレースメント名を設定する方法を示しています。

バナー / MREC

adView.setPlacement( "«placement»" );
adView.loadAd();

インタースティシャル広告

interstitial.showAd( "«placement»" );

リワード広告

rewardedAd.showAd( "«placement»" );

ネイティブ広告

nativeAdLoader.setPlacement( "«placement»" );

ネイティブ広告(Ad Placer)

MaxAdPlacerSettings settings = new MaxAdPlacerSettings( "«ad-unit-ID»" );
settings.setPlacement( "«placement»" );

音声をミュート

アプリを起動する際に、一部のメディエーションSDKネットワークの音声をミュートすることができます。 AppLovin SDKをとおしてこの機能をサポートしているネットワークは、Google Bidding、 Google AdMob 、AppLovin、DT Exchange、 Google アド マネージャー、LINE、Mintegral、Tencent、Verveです。 他のネットワークについては、この機能が利用可能かどうか、またそのアクセス方法について、ネットワークのアカウントチームにお問い合わせください。

以下のコードスニペットは、この機能をサポートするネットワークで音声をミュートする方法を示しています。

AppLovinSdk sdk = AppLovinSdk.getInstance( context );
sdk.getSettings().setMuted( true ); // to mute
sdk.getSettings().setMuted( false ); // to unmute

Verboseログを有効化

SDKの設定オブジェクトでブーリアンフラグを設定し、verboseログを有効にします。

プログラムで

AppLovinSdk.getInstance( context ).getSettings().setVerboseLogging( true );

Androidマニフェスト

アプリケーションのAndroidマニフェストファイルを編集することで、verboseログを有効にすることも可能です。 これには、以下のように<meta-data>要素を追加します。

<application>
<meta-data android:name="applovin.sdk.verbose_logging" android:value="true" />
</application>

検証

Verboseログを正常に有効化したことを確認するには、AppLovin SDKのログの初期化セクションに、Verbose Logging On: trueと表示される行を確認してください。

AppLovin SDK
Version: 11.4.2
Verbose Logging On: true

AppLovin SDKは、そのログに「/AppLovinSdk: [AppLovinSdk]」というタグを付けます。

クリエイティブIDとネットワーク名

さまざまなメディエーションネットワークから表示された広告のクリエイティブIDとネットワーク名を取得できます。 詳細については、the Creative Debugger documentation を参照してください。

DSP名

AppLovin Exchangeから配信されたMAX広告のDSP(デマンドサイドプラットフォーム)の名前を取得するには、広告のgetDspName()メソッド呼び出します。

@Override
public void onAdLoaded(final MaxAd ad)
{
System.out.println( "AppLovin Exchange DSP name: " + ad.getDspName() );
}

インプレッションレベルのユーザー収益API

SDKバージョン10.3.0より、クライアント側のインプレッションレベルのユーザー収益データにアクセスできるようになりました。 このデータは、異なるソースやキャンペーンの比較に利用できます。 また、MAXの ユーザー収益APIを使用して、このデータにアクセスすることも可能です。 このデータへのアクセスを希望するMMPは、必ずMMP向けのインプレッションレベルのユーザー収益APIページを参照してください。

サポートされているすべてのネットワークに対して、Adjust などのモバイル計測パートナーとインプレッションレベルの広告収益データを共有できます。

すべての広告ライフサイクルコールバックで収益額を取得できます。 これを行うには、MaxAdRevenueListenerを作成して、そのonAdRevenuePaid()メソッドを実装し、そのリスナーをsetRevenueListener()に渡します。 以下の例は、このような「広告収益支払い済み」コールバックの実装方法を示したものです。

@Override
void onAdRevenuePaid(final MaxAd ad)
{
double revenue = ad.getRevenue(); // In USD
// Miscellaneous data
String countryCode = AppLovinSdk.getInstance( context ).getConfiguration().getCountryCode(); // "US" for the United States, etc - Note: Do not confuse this with currency code which is "USD"
String networkName = ad.getNetworkName(); // Display name of the network that showed the ad
String adUnitId = ad.getAdUnitId(); // The MAX Ad Unit ID
MaxAdFormat adFormat = ad.getFormat(); // The ad format of the ad (e.g. BANNER, MREC, INTERSTITIAL, REWARDED)
String placement = ad.getPlacement(); // The placement this ad's postbacks are tied to
String networkPlacement = ad.getNetworkPlacement(); // The placement ID from the network that showed the ad
}

以下の例のように、収益値の精度評価を取得することもできます。

String revenuePrecision = ad.getRevenuePrecision();

この精度は、以下のいずれかの値を取ります。

"publisher_defined"
収益額はパブリッシャーによって指定された価格です
"exact"
収益額はリアルタイムオークションによって算出されます
"estimated"
収益額はAuto-CPMまたはFBビディングの推定に基づいています
"undefined"
収益額が定義されておらず、推定するのに十分なデータがありません
""
収益と精度が有効ではありません(テストモードなど)

広告リクエストコールバックの設定

広告リクエスト開始を待機するには、MaxAdRequestListenerを設定し、そのonAdRequestStarted()メソッドを実装して、そのリスナーをsetRequestListener()に渡します。 以下の例は、このような「広告リクエスト開始」コールバックの実装方法を示したものです。

@Override
public void onAdRequestStarted(final String adUnitId)
{
// Ad request started here
}

Selective Init

特定の広告ユニットを使用してSDKを初期化できます。 このときSDKは、指定の広告ユニットに設定されたネットワークのみを初期化します。 広告ユニットを指定しない場合、SDKは、現在のセッションにすべての広告ユニットが必要だと見なします。 その結果、すべての広告ユニットに設定されているネットワークがすべて初期化されます。 以下の例は、この機能の実装方法を示したものです。

AppLovinSdkSettings settings = new AppLovinSdkSettings( context );
List<String> adUnitIds = new ArrayList<>();
adUnitIds.add( "«ad-unit-ID-1»" );
adUnitIds.add( "«ad-unit-ID-2»" );
settings.setInitializationAdUnitIds( adUnitIds );
AppLovinSdk sdk = AppLovinSdk.getInstance( settings, context );
sdk.setMediationProvider( "max" );
sdk.initializeSdk( new AppLovinSdk.SdkInitializationListener() {
@Override
public void onSdkInitialized(final AppLovinSdkConfiguration config) {
}
} );

Waterfall Information API

Waterfall Information APIは、広告の現在のウォーターフォール(ロードされたもの、またはロードに失敗したもの)について通知します。APIは、ウォーターフォール内の各広告のロード状態、待ち時間、資格情報、およびメディエーションネットワーク情報を返します。 ウォーターフォール内の広告がロードに失敗した場合、APIはエラー情報を提供します。

このAPIは、Android SDKバージョン10.3.5以降でサポートされます。

AdLoadStateの値

説明
0Ad Load Not Attempted
1Ad Loaded
2Ad Failed To Load

@Override
public void onAdLoaded(final MaxAd ad)
{
MaxAdWaterfallInfo waterfall = ad.getWaterfall();
if ( waterfall == null ) return;
System.out.println( "Waterfall Name: " + waterfall.getName() + " and Test Name: " + waterfall.getTestName() );
System.out.println( "Waterfall latency was: " + waterfall.getLatencyMillis() + " milliseconds" );
String waterfallInfoStr;
for ( MaxNetworkResponseInfo networkResponse : waterfall.getNetworkResponses() )
{
waterfallInfoStr = "Network -> " + networkResponse.getMediatedNetwork() +
"\n...adLoadState: " + networkResponse.getAdLoadState() +
"\n...latency: " + networkResponse.getLatencyMillis() + " milliseconds" +
"\n...credentials: " + networkResponse.getCredentials();
if ( networkResponse.getError() != null )
{
waterfallInfoStr += "\n...error: " + networkResponse.getError();
}
System.out.println( waterfallInfoStr );
}
}
@Override
public void onAdLoadFailed(final String adUnitId, final MaxError error)
{
MaxAdWaterfallInfo waterfall = error.getWaterfall();
if ( waterfall == null ) return;
System.out.println( "Waterfall Name: " + waterfall.getName() + " and Test Name: " + waterfall.getTestName() );
System.out.println( "Waterfall latency was: " + waterfall.getLatencyMillis() + " milliseconds" );
for ( MaxNetworkResponseInfo networkResponse : waterfall.getNetworkResponses() )
{
System.out.println( "Network -> " + networkResponse.getMediatedNetwork() +
"...latency: " + networkResponse.getLatencyMillis() +
"...credentials: " + networkResponse.getCredentials() + " milliseconds" +
"...error: " + networkResponse.getError() );
}
}

バナー広告 / MREC広告のリフレッシュをカスタマイズ

バナーとミディアムレクタングル(MREC)広告のリフレッシュ間隔は、広告ユニットUIによる設定と同様に、API経由でカスタマイズできます。 リフレッシュ間隔の最小値は10秒、最大値は120秒で、この範囲以外の値は無視されます。 以下のコードサンプルは、リフレッシュ間隔をカスタマイズする方法を示すものです。

// Where adView is an instance of MaxAdView
adView.setExtraParameter( "ad_refresh_seconds", «ad-refresh-rate» );