バナー - 広告ユニットAPIへの移行 - Unity
このガイドでは、現在の実装から LevelPlay バナー API(広告ユニット ID を使用)へ移行し、バナー広告をロード・表示する方法について説明します。
バナー広告オブジェクトの作成とサイズ設定
バナー広告オブジェクトの作成は、OnInitSuccess コールバックを受け取った後に行ってください。
// Create the banner object and set the ad unit id
bannerAd = new LevelPlayBannerAd(bannerAdUnitId);
バナーサイズ
レガシー | 広告ユニット(New) | dp 単位のサイズ |
IronSourceBannerSize | LevelPlayAdSize | (幅 × 高さ) |
BANNER | BANNER | 320 x 50 |
LARGE | LARGE | 320 x 90 |
RECTANGLE | MEDIUM_RECTANGLE | 300 x 250 |
SMART | Adaptive Ad Size に置き換え(下記参照) | モバイルやタブレットの画面サイズ・向きに自動調整される広告 |
広告サイズの作成方法は以下のいずれかになります:
画面幅に自動対応するアダプティブバナーサイズ(推奨):
このオプションはデバイス種別により BANNER または LEADERBOARD を返します。アダプティブ機能対応ネットワーク(Google, Yandex等)は最適化ロジックにより高さを返します。
LevelPlayAdSize adSize = LevelPlayAdSize.CreateAdaptiveAdSize();
特定バナーサイズの指定:
この方法ではBANNER、LARGE、MEDIUM_RECTANGLEのサイズを明示的に指定できます。
LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;
プレースメント
バナー広告はプレースメントに対応しており、レポート用途で利用可能です。LoadAd より前に設定することで、全てのリロード広告に適用されます。
// Set the placement name
LevelPlayBannerAd bannerAd = new LevelPlayBannerAd("bannerAdUnitId", LevelPlayAdSize.BANNER, placementName:"placementName");
バナーイベントの実装
LevelPlayBannerAd のイベントをコード内で監視してください。SDK は下記の全てのイベントを通知します。
- バナー広告のロード前にリスナーを設定することを推奨します。
- 各バナー広告それぞれにリスナー実装が必要です。
- コールバックはメインスレッドで実行されます。
// Register to the events
bannerAd.OnAdLoaded += BannerOnAdLoadedEvent;
bannerAd.OnAdLoadFailed += BannerOnAdLoadFailedEvent;
bannerAd.OnAdDisplayed += BannerOnAdDisplayedEvent;
bannerAd.OnAdDisplayFailed += BannerOnAdDisplayFailedEvent;
bannerAd.OnAdClicked += BannerOnAdClickedEvent;
bannerAd.OnAdCollapsed += BannerOnAdCollapsedEvent;
bannerAd.OnAdLeftApplication += BannerOnAdLeftApplicationEvent;
bannerAd.OnAdExpanded += BannerOnAdExpandedEvent;
// Implement the events
void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdLoadFailedEvent(LevelPlayAdError ironSourceError) {}
void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdDisplayFailedEvent(LevelPlayAdDisplayInfoError adInfoError) {}
void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}
レガシー | 広告ユニット(New) | |
Listener | LevelPlayBannerListener | LevelPlayBannerAd |
Events | onAdLoaded | OnAdLoaded |
onAdLoadFailed | OnAdLoadFailed | |
onAdClicked | OnAdClicked | |
onAdScreenPresented | OnAdExpanded | |
onAdScreenDismissed | OnAdCollapsed | |
onAdLeftApplication | OnAdLeftApplication | |
OnAdDisplayed | ||
OnAdDisplayFailed |
LevelPlay Ad Info
バナー広告のロード
バナー広告のロードには IronSource.loadBanner の代わりに LoadAd を使用してください。
bannerAd.LoadAd();
バナーリフレッシュの一時停止・再開
プラットフォームでリフレッシュ値が定義されている場合、コードでバナーリフレッシュを一時停止できます。バナー広告の自動リフレッシュを停止または再開するには、次のメソッドを利用してください。
- pauseAutoRefresh – バナー広告の自動リフレッシュを一時停止します。
- resumeAutoRefresh – バナー広告の自動リフレッシュを再開します。
// Pause refresh
bannerAd.PauseAutoRefresh();
// Resume refresh
bannerAd.ResumeAutoRefresh();
バナーの表示・非表示
バナーのコンストラクタの一部として、バナーをバックグラウンドでロードし、必要なタイミングで画面に表示できます。ロード後の広告の表示制御には次のAPIを利用します。
- ShowAd – バナーを画面に表示
- HideAd – バナーを非表示
// Show ad
bannerAd.ShowAd();
// Hide ad
bannerAd.HideAd();
ディスプレイカットアウト(Androidのみ)
Android デバイスのディスプレイカットアウトは、カメラ、センサー、スピーカーなどの必須コンポーネント用に確保された指定領域で、スマートフォンやエッジトゥエッジディスプレイを備えたデバイスで一般的に使用されます。このカットアウトによりゲームのビューが制限される可能性があり、画面上のバナーの配置に影響を与える可能性があります。バナー広告とカットアウト領域の重なりを防ぐには、LevelPlayBannerAdを作成し、respectSafeAreaを true に設定してください。
Googleによるディスプレイカットアウト対応の詳細はこちらをご覧ください。
Android カットアウト対応には、respectSafeAreaを true(デフォルトは false )にしてLevelPlayBannerAdを作成してください。
bannerAd = new LevelPlayBannerAd(bannerAdUnitId, respectSafeArea:true);
バナー広告を破棄する
バナーを破棄するには、DestroyAd メソッドを呼び出してください。IronSource.destroyBannerの代わりに使用します。
破棄したバナーは再度表示できません。もう一度広告を表示したい場合は、新たな LevelPlayBannerAd オブジェクトを作成してください。
bannerAd.DestroyAd();
マルチ広告ユニット対応バナー API
レガシー | 広告ユニット(New) | |
Class | IronSource | LevelPlayBannerAd |
API | loadBanner | LoadAd |
destroyBanner | DestroyAd | |
LevelPlayAdSize.Width | ||
– | LevelPlayAdSize.Height | |
– | PauseAutoRefresh | |
– | ResumeAutoRefresh | |
– | ShowAd | |
– | HideAd |
バナー広告のフル実装例
下記はアダプティブバナーサイズを使ったバナー広告の作成・ロード例です。
public class BannerAdSample {
private LevelPlayBannerAd bannerAd;
void CreateBannerAd() {
//Create banner instance
bannerAd = new LevelPlayBannerAd("bannerAdUnitId");
//Subscribe BannerAd events
bannerAd.OnAdLoaded += BannerOnAdLoadedEvent;
bannerAd.OnAdLoadFailed += BannerOnAdLoadFailedEvent;
bannerAd.OnAdDisplayed += BannerOnAdDisplayedEvent;
bannerAd.OnAdDisplayFailed += BannerOnAdDisplayFailedEvent;
bannerAd.OnAdClicked += BannerOnAdClickedEvent;
bannerAd.OnAdCollapsed += BannerOnAdCollapsedEvent;
bannerAd.OnAdLeftApplication += BannerOnAdLeftApplicationEvent;
bannerAd.OnAdExpanded += BannerOnAdExpandedEvent;
}
void LoadBannerAd() {
//Load the banner ad
bannerAd.LoadAd();
}
void ShowBannerAd() {
//Show the banner ad, call this method only if you turned off the auto show when you created this banner instance.
bannerAd.ShowAd();
}
void HideBannerAd() {
//Hide banner
bannerAd.HideAd();
}
void DestroyBannerAd() {
//Destroy banner
bannerAd.DestroyAd();
}
//Implement BannAd Events
void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdLoadFailedEvent(LevelPlayAdError ironSourceError) {}
void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdDisplayFailedEvent(LevelPlayAdDisplayInfoError adInfoError) {}
void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {}
void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}
}
完了!
これで新しいマルチ広告ユニット API を使って、アプリケーション内でバナー広告を配信できるようになりました。