Android のバナー実装
バナーは、静的またはアニメーション化できる長方形のシステム主導広告であり、ライブアプリコンテンツの周囲の指定された領域に配信されます。
バナー広告オブジェクトを作成し、サイズを設定する
バナー広告ユニットを作成し、バナーサイズを設定します。バナーオブジェクトの作成は、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
LevelPlay Ad Info の実装と利用可能なフィールドの詳細については、こちらをご覧ください。
バナー広告をロードする
バナー広告をロードするには、loadAd メソッドを呼びます。
// Load the banner ad
levelPlayBanner.loadAd();
// Load the banner ad
levelPlayBanner.loadAd()
バナーの更新を一時停止および再開する
プラットフォームでリフレッシュレートが定義されている場合は、コードでバナーのリフレッシュを一時停止できます。バナー広告の自動リフレッシュを一時停止・再開するには、次の方法を使用します。
- pauseAutoRefresh – バナーの自動リフレッシュを一時停止
- resumeAutoRefresh – 一時停止されたバナーの自動リフレッシュを再開
// Pause refresh
levelPlayBanner.pauseAutoRefresh();
// Resume refresh
levelPlayBanner.resumeAutoRefresh();
// Pause refresh
levelPlayBanner.pauseAutoRefresh()
// Resume refresh
levelPlayBanner.resumeAutoRefresh()
バナー広告を破棄する
バナーを破棄するには、destroy() メソッドを呼びます。破棄されたバナーはロードできなくなります。もう一度提供したい場合は、新しい LevelPlayBannerAdView オブジェクトを作成する必要があります。
広告の作成とロードの実装例
以下に、アダプティブバナーサイズを使用してバナー広告を作成してロードする例を紹介します。
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 をアプリに実装する方法を確認できます。
完了!
これで、アプリケーションでバナーを配信する設定が出来ました。Test Suite を使用して実装を確認してください。
次のステップは?
実装ガイドに従って、追加の広告ユニットを実装します: