Unityのバナー広告単位APIへの移行
SDK の初期化、広告フォーマットの定義、バナー広告のロードと表示に広告単位 ID を使用することによって、LevelPlay バナー広告単位 API に遷移します。
読み終わるまでの所要時間 10 分最終更新 7日前
このガイドでは、現在の実装から LevelPlay バナー API (広告単位 ID を使用) に遷移し、バナー広告をロードしてディスプレイする方法について説明します。
前提条件
- サポートされている最小 SDK は 8.6.0 です。最新の SDK はここからダウンロードできます。
- LevelPlay 初期化 API を使用して SDK を初期化していることを確認します。
- LevelPlay ダッシュボードで AdUnitID を見つけます。詳細については、こちらを参照してください。
バナー広告オブジェクト作成****とサイズ設定
バナー広告オブジェクトの作成は、OnInitSuccess コールバックの受信後に行う必要があります。
bannerAd = new LevelPlayBannerAd(bannerAdUnitId);
// Create the banner object and set the ad unit idbannerAd = new LevelPlayBannerAd(bannerAdUnitId);
バナーサイズ
古い機能 | 広告単位(新規) | Dimensions in dp. |
|---|---|---|
| ISBannerSize | LevelPlayAdSize | (幅 X 高さ) |
| バナー | バナー | 320×50 |
| 大規模 | 大規模 | 320 x 90 |
| 矩形 | MEDIUM_RECTANGLE | 300 x 250 |
| スマート | Adaptive Ad Size (適応型広告サイズ) に置き換えられました (以下を参照)。 | 広告を自動的にレンダリングして、モバイルおよびタブレットのサイズと向きを調整 |
広告サイズを作成するには、以下のいずれかのオプションに従います。
画面幅に合わせて調整できる適応型広告サイズ(推奨):
このオプションは、デバイス タイプに応じてバナーまたは LeaderBOARD を返します。適応特徴をサポートするネットワーク (Google、Yandex) は、最適化ロジックに基づいて高ささを返します。
LevelPlayAdSize adSize = LevelPlayAdSize.CreateAdaptiveAdSize();
特定のバナーサイズ:
このオプションでは、バナーサイズを明確に設定できます。バナー、LARGE、MEDIUM_矩形。
LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;
Placements
バナーのプレースメントは、レポートの目的でのみサポートされます。再ロードされたすべての広告に影響するように、LoadAd の前に設定する必要があります。
// Set the placement nameLevelPlayBannerAd bannerAd = new LevelPlayBannerAd("bannerAdUnitId", LevelPlayAdSize.BANNER, placementName:"placementName");
バナーの実装
コードの LevelPlayBannerAd イベントをリッスンします。SDK は、以下にリストされているすべての可能なイベントを通知します。
- バナー広告をロードする前にリスナーを設定することをお勧めします。
- バナー広告ごとに独自のリスナーを実装する必要があります。
- コールバックはメインスレッドで実行されます。
// Register to the eventsbannerAd.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 eventsvoid BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdLoadFailedEvent(LevelPlayAdError error) {}void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) {}void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}
古い機能 | 広告単位 (新規) | |
|---|---|---|
| リスナー | LevelPlayBannerListener | LevelPlayBannerAd |
| コールバック | onAdLoaded | onAdLoaded |
| onAdLoadFailed | onAdLoadFailed | |
| onAdClicked | onAdClicked | |
| onAdScreenPresented | onAdExpanded | |
| onAdScreenDismissed | onAdCollapsed | |
| onAdLeftApplication | onAdLeftApplication | |
| onAdDisplayed | ||
| onAdDisplayFailed |
LevelPlay 広告情報
ロードバナー広告
バナー広告をロードするには、Ironsource.loadBanner の代わりに LoadAd を使用します。
bannerAd.LoadAd();
バナー更新の一時停止と再開
プラットフォームで更新値が定義されている場合は、コードのバナー更新を一時停止できます。バナー広告の自動更新を停止するか、一時停止後に再度有効にするには、以下の方法を使用します。
- pauseAutoRefresh - バナー広告の自動更新を一時停止します。
- resumeAutoRefresh - バナー広告が一時停止された後、自動更新を再開します。
// Pause refreshbannerAd.PauseAutoRefresh();// Resume refreshbannerAd.ResumeAutoRefresh();
バナーの非表示と表示
バナーコンストラクターの一部として、バナーを背景グラウンドでロードし、関連する場合にのみ画面で共有できます。ロード後の広告の可視性をコントロールするには、次の API を使用できます。
- ShowAd – バナーが画面に表示されます
- HideAd – バナーは非表示になります
bannerAd.ShowAd();
bannerAd.HideAd();
// Show adbannerAd.ShowAd();// Hide adbannerAd.HideAd();
ディスプレイ カットアウト(Androidのみ)
Android デバイスのディスディスプレイアウトは、カメラ、センサー、スピーカーなどの必須コンポーネントのために予約済みされた領域です。一般的に、スマートフォンや端ィスプレイを備えたデバイスで使用されます。この切り抜きによってゲームビューが制限され、画面上のバナーの配置に影響が及ぶ可能性があります。バナー広告と表示されるカットアウトが重複しないようにするには、 LevelPlayBannerAd を作成し、 RespectSafeArea を true に設定します。
Googleのディスプレイカットアウトソリューションの詳細については、こちらを参照してください。
Android カットアウトをサポートするには、respectSafeArea の値を true (デフォルト値は false) にして LevelPlayBannerAd オブジェクトを作成します。
bannerAd = new LevelPlayBannerAd(bannerAdUnitId, respectSafeArea:true);
バナー広告の破棄
バナーを破棄するには、 Ironsource.destroyBanner の代わりに DestroyAd メソッドを呼び出します。
破棄されたバナーは再度表示できなくなります。さらに広告を表示するには、新しい LevelPlayBannerAd オブジェクトを作成します。
bannerAd.DestroyAd();
複数の広告単位インタースティシャル API
古い機能 | 広告単位 (新規) | |
|---|---|---|
| クラス | 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 BannerAd Events void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdLoadFailedEvent(LevelPlayAdError error) {} void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) {} void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}}
完了!
これで、新しい複数の広告単位 API を使用してアプリケーションでバナー広告を配信する設定が完了しました。