Android のバナー実装

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

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

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

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

// Create the banner view and set the ad unit id
LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId");
// Create the banner view and set the ad unit id
val levelPlayBanner = LevelPlayBannerAdView(context, "adUnitId")

バナーサイズ

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(context);
val adSize = createAdaptiveAdSize(context)

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

levelPlayBanner.setAdSize(LevelPlayAdSize.MEDIUM_RECTANGLE);
levelPlayBanner.setAdSize(LevelPlayAdSize.MEDIUM_RECTANGLE)

Placement

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

// Set the placement name
levelPlayBanner.setPlacementName("placementName");
// Set the placement name
levelPlayBanner.setPlacementName("placementName")

バナーリスナーを実装する

LevelPlayBannerAdViewListener を実装します。

  • バナー広告のロード前にリスナーを設定することをお勧めします。
  • 各バナー広告にリスナー実装が必要であることに注意してください。
  • コールバックはメインスレッドで実行されます。
  • すべてのネットワークでサポートされていないコールバックは、Optional(任意)とマークされています。
levelPlayBanner.setBannerListener(new LevelPlayBannerAdViewListener() {
    @Override
    public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {
    // Ad was loaded successfully 
    }
    @Override
    public void onAdLoadFailed(@NonNull LevelPlayAdError error) {
    // Ad load failed
    }
    @Override
    public void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {
    // Ad was displayed and visible on screen
    }
    @Override
    public void onAdDisplayFailed(@NonNull LevelPlayAdInfo adInfo, @NonNull LevelPlayAdError error) {
    // Optional. Ad failed to be displayed on screen
    }
    @Override
    public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {
    // Ad was clicked
    }
    @Override
    public void onAdExpanded(@NonNull LevelPlayAdInfo adInfo) {
    // Optional. Ad is opened on full screen
    }
    @Override
    public void onAdCollapsed(@NonNull LevelPlayAdInfo adInfo) {
    // Optional. Ad is restored to its original size
    }
    @Override
    public void onAdLeftApplication(@NonNull LevelPlayAdInfo adInfo) 
    // Optional. User pressed on the ad and was navigated out of the app 
    }
});
levelPlayBanner.setBannerListener(object: LevelPlayBannerAdViewListener {
    override fun onAdLoaded(adInfo: LevelPlayAdInfo) {
    // Ad was loaded successfully 
    }
    override fun onAdLoadFailed(error: LevelPlayAdError) {
    // Ad load failed
    }
    override fun onAdDisplayed(adInfo: LevelPlayAdInfo) {
    // Ad was displayed and visible on screen
    }
    override fun onAdDisplayFailed(adInfo: LevelPlayAdInfo, error: LevelPlayAdError) {
    // Optional. Ad failed to be displayed on screen
    }
    override fun onAdClicked(adInfo: LevelPlayAdInfo) {
    // Ad was clicked
    }
    override fun onAdExpanded(adInfo: LevelPlayAdInfo) {
    // Optional. Ad is opened on full screen
    }
    override fun onAdCollapsed(adInfo: LevelPlayAdInfo) {
    // Optional. Ad is restored to its original size
    }
    override fun onAdLeftApplication(adInfo: LevelPlayAdInfo) {
    // Optional. User pressed on the ad and was navigated out of the app 
    }
})

LevelPlay Ad Info

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

バナー広告をロードする

バナー広告をロードするには、loadAd メソッドを呼びます。

// Load the banner ad
levelPlayBanner.loadAd();
// Load the banner ad
levelPlayBanner.loadAd()

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

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

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

バナー広告を破棄する

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

levelPlayBanner.destroy()
levelPlayBanner.destroy();

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

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

public void createAndLoadBanner() {
    // Create the banner view and set the ad unit id
    LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId");
    
    // Set the placement name (optional)
    levelPlayBanner.setPlacementName("placementName");
    
    // Create the adaptive ad size to support both adaptive, banner and leaderboard (recommended)  
    LevelPlayAdSize adSize = LevelPlayAdSize.createAdaptiveAdSize(context);
    
    // required when using createAdaptive()
    if (adSize != null) {
        levelPlayBanner.setAdSize(adSize);
    }
    
    // Add the banner view to the container
    ViewGroup adContainer = findViewById(android.R.id.adContainer);
    adContainer.addView(levelPlayBanner);
    
    // Load the banner ad
    levelPlayBanner.loadAd();
    
    // to get actual banner layout size (either custom/standard size or adaptive)
    height = adSize.getHeight();
    width = adSize.getWidth();
}
fun createAndLoadBanner() {
    // Create the banner view and set the ad unit id
    val levelPlayBanner = LevelPlayBannerAdView(context, "adUnitId")
    
    // Set the placement name
    levelPlayBanner.setPlacementName("placementName")
    
    // Create the adaptive ad size to support both adaptive, banner and leaderboard
    val adSize = createAdaptiveAdSize(context)
    
    // required when using createAdaptive()
    adSize?.let { levelPlayBanner.setAdSize(it) }
    
    // Add the banner view to the container
    val adContainer = findViewById<ViewGroup>(R.id.adContainer)
    adContainer.addView(levelPlayBanner)
    
    // Load the banner ad
    levelPlayBanner.loadAd()
    
    // get width and height for the container
    val width = adSize?.getWidth()
    val height = adSize?.getHeight()
}

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

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

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

完了!
これで、アプリケーションでバナーを配信する設定が出来ました。Test Suite を使用して実装を確認してください。


次のステップは?

実装ガイドに従って、追加の広告ユニットを実装します: