Unity プラグインのインタースティシャル実装
Unity LevelPlay インタースティシャルはフルスクリーンの広告ユニットであり、通常はアプリのライフサイクル中の自然な移行ポイントで配信されます。
インタースティシャル広告オブジェクトを作成する
インタースティシャル広告ユニットを作成します。インタースティシャルオブジェクトの作成は、OnInitSuccess コールバックを正常に受信した後に行う必要があります。
// Create interstitial ad object
interstitialAd = new LevelPlayInterstitialAd(interstitialAdUnitId);
インタースティシャルイベントを実装する
LevelPlayInterstitialAdListener を実装して、広告配信に関する情報を取得します。
- インタースティシャル広告のロード前にリスナーを設定することをお勧めします。
- 各インタースティシャル広告にリスナー実装が必要であることに注意してください。
- コールバックはメインスレッドで実行されます。
// Register to Interstitial events
interstitialAd.OnAdLoaded += InterstitialOnAdLoadedEvent;
interstitialAd.OnAdLoadFailed += InterstitialOnAdLoadFailedEvent;
interstitialAd.OnAdDisplayed += InterstitialOnAdDisplayedEvent;
interstitialAd.OnAdDisplayFailed += InterstitialOnAdDisplayFailedEvent;
interstitialAd.OnAdClicked += InterstitialOnAdClickedEvent;
interstitialAd.OnAdClosed += InterstitialOnAdClosedEvent;
interstitialAd.OnAdInfoChanged += InterstitialOnAdInfoChangedEvent;
// Implement the events
void InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo){}
void InterstitialOnAdLoadFailedEvent(LevelPlayAdError error){}
void InterstitialOnAdDisplayedEvent(LevelPlayAdInfo adInfo){}
void InterstitialOnAdDisplayFailedEvent(LevelPlayAdDisplayInfoError infoError){}
void InterstitialOnAdClickedEvent(LevelPlayAdInfo adInfo){}
void InterstitialOnAdClosedEvent(LevelPlayAdInfo adInfo){}
void InterstitialOnAdInfoChangedEvent(LevelPlayAdInfo adInfo){}
インタースティシャル広告をロードする
インタースティシャル広告をロードするには、LoadAd メソッドを呼びます。
// Load interstitial ad
interstitialAd.LoadAd();
インタースティシャル広告を表示する
LevelPlayInterstitialAdListener の onAdLoaded コールバックを受信したら、インタースティシャル広告を表示します。
- Activity の共有が必要です。
- プレースメントを使用している場合は、ShowAd API の一部として追加します。
- 広告がユーザーに正常に表示されたら、ロード手順を繰り返すことで別の広告を読み込むことができます。
// Show ad without placement
interstitialAd.ShowAd();
// Show ad with placement
interstitialAd.ShowAd(placementName: "placementName");
広告のアベイラビリティを確認する
表示の失敗を回避し、広告が正しく表示されることを確認するには、showAd() API を呼び出す前に次の API を使用することをお勧めします。
isAdReady – 広告が正常に読み込まれ、広告ユニットに対するキャップが設定されていない場合、または視聴回数が広告ユニットに対して設定されたキャップに達していない場合は true を返し、それ以外の場合は false を返します。
isPlacementCapped – 有効なプレースメントに対する視聴回数がキャップに達している場合は true を返します。プレースメント名が有効でない場合、キャップが設定されていない場合、または視聴回数がプレースメントに対して設定されたキャップに達していない場合、この API は false を返します。
プレースメント
LevelPlay ダッシュボードでインタースティシャルのプレースメント、ペーシング、キャッピングをサポートしています。
インタースティシャル広告のプレースメントを設定している場合は、メソッドを呼び出して、特定のプレースメントに対してインタースティシャル広告を配信します。
// check that ad is ready and that the placement is not capped
if (interstitialAd.IsAdReady() && !LevelPlayInterstitialAd.IsPlacementCapped("placementName"))
{
interstitialAd.ShowAd();
}
LevelPlay Ad Info
インタースティシャルリスナーコールバックによって返される AdInfo クラスは、LevelPlayAdInfo に置き換えられました。
LevelPlay Ad Info の実装と利用可能なフィールドの詳細については、こちらをご覧ください。
インタースティシャル広告の実装例
// Create Interstitial object
interstitialAd = new LevelPlayInterstitialAd(interstitialAdUnitId);
// Register to Interstitial events
interstitialAd.OnAdLoaded += InterstitialOnAdLoadedEvent;
interstitialAd.OnAdLoadFailed += InterstitialOnAdLoadFailedEvent;
interstitialAd.OnAdDisplayed += InterstitialOnAdDisplayedEvent;
interstitialAd.OnAdDisplayFailed += InterstitialOnAdDisplayFailedEvent;
interstitialAd.OnAdClicked += InterstitialOnAdClickedEvent;
interstitialAd.OnAdClosed += InterstitialOnAdClosedEvent;
interstitialAd.OnAdInfoChanged += InterstitialOnAdInfoChangedEvent;
#region Interstitial events
void InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo)
{
Debug.Log("unity-script: I got InterstitialOnAdLoadedEvent With AdInfo " + adInfo);
if (interstitialAd.IsAdReady())
{
interstitialAd.ShowAd();
}
}
void InterstitialOnAdLoadFailedEvent(LevelPlayAdError error)
{
Debug.Log("unity-script: I got InterstitialOnAdLoadFailedEvent With Error " + error);
}
void InterstitialOnAdDisplayedEvent(LevelPlayAdInfo adInfo)
{
Debug.Log("unity-script: I got InterstitialOnAdDisplayedEvent With AdInfo " + adInfo);
}
void InterstitialOnAdDisplayFailedEvent(LevelPlayAdDisplayInfoError infoError)
{
Debug.Log("unity-script: I got InterstitialOnAdDisplayFailedEvent With InfoError " + infoError);
}
void InterstitialOnAdClickedEvent(LevelPlayAdInfo adInfo)
{
Debug.Log("unity-script: I got InterstitialOnAdClickedEvent With AdInfo " + adInfo);
}
void InterstitialOnAdClosedEvent(LevelPlayAdInfo adInfo)
{
Debug.Log("unity-script: I got InterstitialOnAdClosedEvent With AdInfo " + adInfo);
}
void InterstitialOnAdInfoChangedEvent(LevelPlayAdInfo adInfo)
{
Debug.Log("unity-script: I got InterstitialOnAdInfoChangedEvent With AdInfo " + adInfo);
}
これで、マルチ広告ユニット API を使用してアプリでインタースティシャル広告を配信する準備が完了しました。
LevelPlay メディエーションデモアプリ
実装デモアプリでは、インタースティシャル広告ユニット API をアプリに実装する方法を確認できます。
完了!
これで、アプリでインタースティシャル広告を配信できます。
実装ガイドに従って、メディエーションプラットフォームに追加のインタースティシャルアドネットワークを設定するか、追加の広告フォーマットを実装します: