Android 向けインタースティシャル広告単位 API への移行
キーDK を初期化し、特定の広告単位 ID で再利用可能なインタースティシャル広告オブジェクトを作成し、ロード、表示、終了などの広告イベントをハンドルするリスナーを実装することで、LevelPlay のインタースティシャル広告単位 API に移行します。
読み終わるまでの所要時間 10 分最終更新 7日前
このガイドでは、現在の実装から LevelPlay Interstitial API に遷移(広告単位 ID を使用)して、インタースティシャル広告をロードおよびディスプレイする方法について説明します。
前提条件
- サポートされている最小 SDK は 8.6.0 です。最新の SDK はここからダウンロードできます。
- LevelPlay 初期化 API を使用して SDK を初期化していることを確認します。
- LevelPlay ダッシュボードで AdUnitID を見つけます。
インタースティシャル広告オブジェクトの作成
インタースティシャル広告オブジェクトの作成は、onInitSuccess コールバックの受信後に実行する必要があります。
オブジェクトは、セッションを通じて複数のロードと表示をハンドルできる再利用可能なインスタンスです。作成後、同じ広告単位の広告をロードおよび表示するために使用する必要があります。
より高度な実装では、必要に応じて複数のインタースティシャル広告オブジェクトを作成できます。
// インタースティシャル広告の作成mInterstitialAd = new LevelPlayInterstitialAd("adUnitId");
インタースティシャルイベントに登録
コードに LevelPlayInterstitialAdListener ではなく LevelPlayInterstitialAdListener を実装して、広告の配信を通知します。
- インタースティシャル広告をロードする前にリスナーを設定することをお勧めします。
- 各インタースティシャル広告には、独自のリスナー実装が必要です。
- コールバックはメインスレッドで実行されます。
// インタースティシャル広告の作成mInterstitialAd = new LevelPlayInterstitialAd("adUnitId");// リスナーの設定mInterstitialAd.setListener(this);// LevelPlayInterstitialAdListener methods@Overridepublic void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdLoadFailed(@NonNull LevelPlayAdError error) {}@Overridepublic void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdDisplayFailed(@NonNull LevelPlayAdError error, @NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdClosed(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdInfoChanged(@NonNull LevelPlayAdInfo adInfo) {}
古い機能 | 広告単位 (新規) | |
|---|---|---|
| リスナー | LevelPlayInterstitialListener | LevelPlayInterstitialAdListener |
| コールバック | onAdReady | onAdLoaded |
| onAdLoadFailed | onAdLoadFailed | |
| onAdOpened | onAdDisplayed | |
| onAdClosed | onAdClosed | |
| onAdShowFailed | onAdDisplayFailed | |
| onAdClicked | onAdClicked | |
| onAdShowSucceeded | - (非推奨) | |
| onAdInfoChanged |
LevelPlay 広告情報
ロード インタースティシャル広告
インタースティシャル広告をロードするには、loadInterstitial ではなく loadAd を使用します。
// 広告のロードまたはリロードmInterstitialAd.loadAd();
インタースティシャル広告の表示
LevelPlayInterstitialAdListener API を使用して onAdLoaded コールバックを受信した後にインタースティシャル広告を表示します。
- アクティビティの共有に必要です。
- プレースメントを使用する場合は、後述のプレースメントのセクションに示すように、showAd API に配置名を渡します。
- 広告がユーザーに正常に表示されたら、ロードステップを繰り返して別の広告をロードできます。
// 配置なしで広告を表示mInterstitialAd.showAd(this);// 配置で広告を表示mInterstitialAd.showAd(this, placementName);
広告の準備ができているか確認
表示の失敗を避け、広告が正しく表示されるようにするために、showAd API を呼び出す前に以下の API を使用することをお勧めします。
isAdReady – 広告のロードが成功し、広告単位が上限に達していない場合は true、それ以外の場合は false を返します。
isPlacementCapped – 有効な配置に上限がある場合に true を返します。配置が有効でないか、上限がない場合、この API は false を返します。
// 広告の準備ができていることと、配置に上限がないことを確認します。if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName);}
Placements
LevelPlay ダッシュボードでは、インタースティシャルのプレースメント ペーシングとプレースメント キャップをサポートします。
インタースティシャル広告にプレースメントが設定されている場合は、 showAd メソッドを呼び出して特定の配置の広告を配信します。
// 広告の準備ができていることと、配置に上限がないことを確認します。if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { // 配置で広告を表示 mInterstitialAd.showAd(this, placementName);}
複数の広告単位インタースティシャル API
古い機能 | 広告単位 (新規) | |
|---|---|---|
| API | loadInterstitial | loadAd |
| showInterstitial | showAd | |
| isInterstitialPlacementCapped | LevelPlayInterstitialAd.isPlacementCapped | |
| isInterstitialReady | isAdReady |
インタースティシャル広告の完全な実装例
public クラス InterstitialAdActivity はアクティビティを拡張します LevelPlayInterstitialAdListener を実装します { private LevelPlayInterstitialAd mInterstitialAd; void createInterstitialAd() { mInterstitialAd = new LevelPlayInterstitialAd("adUnitId"); mInterstitialAd.setListener(this); } void loadInterstitialAd() { mInterstitialAd.loadAd(); } void showInterstitialAd() { if (mInterstitialAd.isAdReady()) { mInterstitialAd.showAd(this); } } void showInterstitialAd(@NonNull String placementName) { if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName); } } // LevelPlayInterstitialAdListener methods @Override public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdLoadFailed(@NonNull LevelPlayAdError error) {} @Override public void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdClosed(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdDisplayFailed(@NonNull LevelPlayAdError error, @NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdInfoChanged(@NonNull LevelPlayAdInfo adInfo) {}}
完了!
これで、新しい複数の広告単位 API を使用してアプリケーションでインタースティシャル広告を配信する設定が完了しました。