Android のバナー実装 - レガシー API (SDK < 8.4.0)
バナーは、静的またはアニメーション化できる長方形のシステム主導広告であり、ライブアプリコンテンツの周囲の指定された領域に配信されます。
ironSource SDK 7.8.0 以降、バナー実装にコンテナを使用することが可能になりました。詳細はこちら。
SDK 8.4.0 以降サポートされているマルチ広告ユニット API はこちら。
ステップ 1. バナーレイアウトを作成する
まず、バナーを構成するためのバナービューを作成する必要があります。
- このメソッドを呼んでバナービューを読み込みます(この例では、BANNER バナーサイズです):
IronSourceBannerLayout banner = IronSource.createBanner(Activity, ISBannerSize.BANNER);
サポートされている標準バナーサイズの詳細については、以下の表を参照してください:
ISBannerSize Description Dimensions in dp (WxH) BANNER Standard Banner 320 x 50 LARGE Large Banner 320 x 90 RECTANGLE Medium Rectangular (MREC) 300 x 250 SMART Smart Banner
(モバイルとタブレットに合わせてサイズとオリエンテーションを自動調整してレンダリング)If (screen width ≤ 720) 320 x 50
If (screen width > 720) 728 x 90 - 別のオプションは、このシグネチャ( dp の WxH )を使用して、カスタムサイズでバナーを配信することです:
IronSourceBannerLayout banner = IronSource.createBanner(Activity, new ISBannerSize(320, 50));
ステップ 2. リスナーを実装する
次に、コードにバナーリスナーを実装します。ironSource SDK は、バナーアクティビティを通知するためにいくつかのコールバックを発火します。SDK は、以下にリストされているすべての発生しうるイベントをリスナーに通知します:
banner.setLevelPlayBannerListener(new LevelPlayBannerListener() {
// Invoked each time a banner was loaded. Either on refresh, or manual load.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdLoaded(AdInfo adInfo) {}
// Invoked when the banner loading process has failed.
// This callback will be sent both for manual load and refreshed banner failures.
@Override
public void onAdLoadFailed(IronSourceError error) {}
// Invoked when end user clicks on the banner ad
@Override
public void onAdClicked(AdInfo adInfo) {}
// Notifies the presentation of a full screen content following user click
@Override
public void onAdScreenPresented(AdInfo adInfo) {}
// Notifies the presented screen has been dismissed
@Override
public void onAdScreenDismissed(AdInfo adInfo) {}
// Invoked when the user left the app
@Override
public void onAdLeftApplication(AdInfo adInfo) {}
});
リスナーの完全な実装については、こちらで確認できます。
- コールバックが常にメインスレッドで実行されていると想定しないでください。ironSource コールバックから生じる UI インタラクションまたは更新は、実行する前にメインスレッドに渡す必要があります。
- リスナーは必ず SDK を初期化する前に設定してください。これにより、SDK がすべての関連情報を送信できるようになります。
ステップ 3. バナー広告設定をロードする
- デフォルト設定でバナー広告をロードするには、次のメソッドを呼びます:
IronSource.loadBanner(banner);
- LevelPlay ダッシュボードでのバナーのプレースメント、ペーシング、キャッピングをサポートしています。アプリのユーザー体験を最適化するために、バナーのプレースメント、キャッピング、ペーシングを設定する方法については、こちらをご覧ください。バナーのプレースメントを設定した場合は、次のメソッドを呼んで、特定のプレースメントのバナー広告を配信します:
IronSource.loadBanner(banner, (String)placement);
ステップ 4. バナー広告を破棄する
バナーを破棄するには、次のメソッドを呼びます:
IronSource.destroyBanner(banner);
破棄されたバナーはロードできなくなります。もう一度提供したい場合は、初期化し直す必要があります。
ステップ 5. バナープロバイダーを実装する
次に、アドネットワークアダプターを実装して、LevelPlay メディエーションを介してバナーを配信します。
サポートされているネットワークと、各ネットワークの bannerSize の挙動は以下をご覧ください:
BANNER | LARGE | RECTANGLE | SMART | |
ironSource | Banner | Large Banner | Medium Rectangle | Banner / Leaderboard | AdMob | Banner | Large Banner* | Medium Rectangle | Banner / Leaderboard |
APS | Banner | – | Medium Rectangle | Banner / Leaderboard |
AppLovin | Banner | Banner | Medium Rectangle | Banner / Leaderboard |
Chartboost | Banner | Banner | Medium Rectangle | Leaderboard |
Digital Turbine | Banner | Banner | Medium Rectangle | Banner / Leaderboard |
HyprMX | Banner | – | Medium Rectangle | Banner / Leaderboard |
InMobi | Banner | Banner | Medium Rectangle | Banner / Leaderboard |
Meta Audience Network |
Banner | Large Banner | Medium Rectangle | Banner / Leaderboard |
Pangle | Banner | Banner | Medium Rectangle | Banner / Leaderboard |
Smaato | Banner | – | Medium Rectangle | Banner / – |
UnityAds | Banner | Banner | – | Banner / Leaderboard |
Vungle | Banner | Banner | Medium Rectangle | Banner / Leaderboard |
Banner Size Reference
- Banner: 320 x 50
- Large Banner: 320 x 90
- Medium Rectangle (MREC): 300 x 250
- LeaderBoard: 728 x 90
* AdMob は Large を 320 x 100 と定義しています
ステップ 6. アダプティブバナー
アダプティブバナー機能を使用すると、事前定義された広告の幅に基づいて最適なバナーの高さを受け取ることができます。
この機能を使用すると、アダプティブバナーをサポートするネットワーク(現在は AdMob と Goole Ad Manager のみ)は、定義したコンテナの幅に基づいて最適な高さの広告を返します。他のすべてのネットワークは、指定されたデフォルトの広告サイズに従ってバナーを配信します。
この実装( ironSource SDK 7.8.0 以降でサポート)では、コンテナはアダプティブバナーをサポートするかどうかに関係なく、すべてのネットワークのバナーの境界を定義します。これにより、バナーロードセッション中の各バナーリフレッシュで一貫した広告体験が保証されます。
- バナーのデフォルトサイズを設定
- アダプティブバナーのパラメータを定義 –
- Width:表示するバナーの幅。固定サイズまたはデバイスの幅のいずれかを使用します。
- Height:getMaximalAdaptiveHeight API を使用して、上記手順で定義した幅に対する推奨のバナーの高さを取得します。
- ステップ #1 で定義したパラメータサイズを使用してコンテナを作成
- adaptive フラグを true に設定
- バナーをロード
ISBannerSize bannerSize = ISBannerSize.BANNER; // the banner size of choice will be the default value for non supporting banner adaptive networks
bannerSize.setAdaptive(true);
int width = 320; //set width to your desired size
int adaptiveHeight = ISBannerSize.getMaximalAdaptiveHeight(width);
bannerSize.setContainerParams(new ISContainerParams(width, adaptiveHeight));
IronSourceBannerLayout bannerLayout = IronSource.createBanner(Activity, bannerSize);
IronSource.loadBanner(bannerLayout);
val bannerSize = ISBannerSize.BANNER // the banner size you choose will be the default value for non supporting banner adaptive networks
bannerSize.isAdaptive = true
val width = 320 //set width to your desired size
val adaptiveHeight = BannerUtils.getMaximalAdaptiveHeight(width)
bannerSize.setContainerParams(ISContainerParams(width, adaptiveHeight))
val bannerLayout = IronSource.createBanner(Activity, bannerSize)
IronSource.loadBanner(bannerLayout)
getMaximalAdaptiveHeight メソッドは、アダプティブバナーがサポートされているネットワークでは指定された幅に対する最大の高さを提供します。アダプティブバナーをサポートするネットワークがない場合、戻り値は -1 になります。
完了!
これで、アプリケーションでバナーを配信する設定が出来ました。Integration Helper を使用して実装を確認してください。
次のステップは?
実装ガイドに従って、追加の広告ユニットを実装します:
より多くのメディエーションアダプターを実装したいですか?こちらでサポートされているメディエーションネットワークを確認してください。