Unity のバナーインテグレーション

バナーは、静止画またはアニメーションを表示できる長方形のシステム主導広告であり、ライブアプリコンテンツの周囲の指定された領域に配信されます。

Before you start
  • ironSource SDK がアプリケーションに正しく実装されていることを確認してください。実装の概要はこちら
  • LevelPlay Initialization API を使用して SDK を初期化してください。
  • AdUnitID は LevelPlay ダッシュボードで確認できます。詳細はこちら
  • このドキュメントは SDK 8.4.0+ に対応するものです。レガシーバナー API (SDK 8.4.0 以前) のドキュメントはこちら

バナー広告オブジェクトを作成し、サイズを設定する

バナー広告ユニットを作成し、バナーサイズを設定します。バナーオブジェクトの作成は、OnInitSuccess コールバックを正常に受信した後に行う必要があります。

bannerAd = new LevelPlayBannerAd(bannerAdUnitId);

バナーサイズ

LevelPlayAdSize Description Dimensions in dp
(Width X Height)
BANNER Standard banner 320 x 50
LARGE Large banner 320 x 90
RECTANGLE Medium Rectangular (MREC) 300 x 250
Adaptive 広告を自動的にレンダリングして、モバイルやタブレット向けにサイズと方向を調整します
(レガシーサイズ「SMART」の置き換え)
デバイスの幅 X 推奨される高さ

次のいずれかのオプションに従って広告サイズを作成します:

画面の幅に合わせて調整されるアダプティブ広告サイズ (推奨):

このオプションは、デバイスタイプに応じて BANNER または LEADERBOARD を返します。
アダプティブ機能をサポートするネットワーク (Google、Yandex) は、最適化ロジックに基づいて高さを返します。

LevelPlayAdSize adSize = LevelPlayAdSize.CreateAdaptiveAdSize();

特定のバナーサイズ:
このオプションを使用すると、バナーサイズ (BANNER、LARGE、MEDIUM_RECTANGLE) を指定できます。

LevelPlayAdSize adSize =LevelPlayAdSize.BANNER;

Placement

プレースメントはレポートに使用されるオプションです。すべてのリロードに設定を反映させるには、ロード前に設定する必要があります。

// Set the placement name
LevelPlayBannerAd bannerAd = new LevelPlayBannerAd("bannerAdUnitId", LevelPlayAdSize.BANNER, placementName:"placementName");

バナーイベントを実装する

次に、コード内の LevelPlayBannerAd イベントをリッスンします。 SDK は、以下にリストされているイベントを通知します。

  • バナー広告のロード前にリスナーを設定することをお勧めします。
  • 各バナー広告にリスナー実装が必要であることに注意してください。
  • LevelPlayAdInfo がバナーコールバックの一部として返されます。詳細はこちら
// 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) {}

LevelPlay Ad Info

Ad Info LevelPlayAdInfo パラメーターは読み込みに成功した広告の情報を含んでいます。
LevelPlay Ad Info の実装と利用可能なフィールドの詳細については、こちらをご覧ください。

バナー広告をロードする

バナー広告をロードするには、LoadAd を呼びます。

bannerAd.LoadAd();

バナーの更新を一時停止および再開する

プラットフォームでリフレッシュレートが定義されている場合は、コードでバナーのリフレッシュを一時停止できます。バナー広告の自動リフレッシュを一時停止・再開するには、次の方法を使用します。

Note: バナーが再度表示されると、一時停止されてからの時間を元にリロードされます。
  • pauseAutoRefresh – バナーの自動リフレッシュを一時停止
  • resumeAutoRefresh – 一時停止されたバナーの自動リフレッシュを再開
// Pause refresh
bannerAd.PauseAutoRefresh();
// Resume refresh
bannerAd.ResumeAutoRefresh();

バナーの表示・非表示

バナーコンストラクタの一部として、バナーをバックグラウンドでロードし、任意の画面上で表示することが可能です。ロード後の広告の表示を制御するには、次の API を使用します。

  • ShowAd – バナー表示
  • HideAd – バナー非表示
// show ad 
bannerAd.ShowAd(); 
// hide ad 
bannerAd.HideAd();

ディスプレイのカットアウトをサポート( Android のみ)

Android デバイスのディスプレイカットアウトは、カメラ、センサー、スピーカーなどの必須コンポーネント用に確保された指定領域で、スマートフォンやエッジトゥエッジディスプレイを備えたデバイスで一般的に使用されます。このカットアウトによりゲームのビューが制限される可能性があり、画面上のバナーの配置に影響を与える可能性があります。SetRespectAndroidCutouts API を使用することで、バナー広告とカットアウトの重なりを避けることができます。
ディスプレイカットアウトに関する Google のソリューションの詳細については、こちらをご覧ください。

Android カットアウトをサポートするには:

  1. デフォルトバナーサイズを設定
  2. SetRespectAndroidCutouts を true で呼び出し(デフォルト値は false )
IronSourceBannerSize ironSourceBannerSize = IronSourceBannerSize.BANNER;
ironSourceBannerSize.SetRespectAndroidCutouts(true);

バナー広告を破棄する

バナーを破棄するには、destroy() メソッドを呼びます。破棄されたバナーはロードできなくなります。もう一度提供したい場合は、新しい LevelPlayBannerAd オブジェクトを作成する必要があります。

bannerAd.DestroyAd();

広告の作成とロードの実装例

以下に、アダプティブバナーサイズを使用してバナー広告を作成してロードする例を紹介します。

private LevelPlayBannerAd bannerAd;
string bannerAdUnitId = "adUnitId";
LevelPlayAdSize adSize = LevelPlayAdSize.CreateAdaptiveAdSize();
bannerAd = new LevelPlayBannerAd(bannerAdUnitId, adSize);
m_BannerAd = new LevelPlayBannerAd(YOUR_AD_UNIT, adSize, LevelPlayBannerPosition.TopCenter, YOUR_PLACEMENT, false);

// Register to Banner 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;
bannerAd.LoadAd();

void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo)
{
    Debug.Log("Banner Ad Loaded");
    
    //To get actual banner size(either custom/standard size or adaptive)
    LevelPlayAdSize size = adInfo.adSize;
    int width = size.Width;
    int height = size.Height;

}
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) {}

LevelPlay メディエーションデモアプリ

実装デモアプリでは、バナー広告ユニット API をアプリに実装する方法を確認できます。

Unity デモアプリダウンロード

完了!
これで、アプリケーションでバナーを配信するように設定されました。Test Suite を使用してインテグレーションを確認します。


次のステップは?
インテグレーションガイドに従って、追加の広告ユニットを実装します。