Android のバナー実装
バナーは、静的またはアニメーション化できる長方形のシステム主導広告であり、ライブアプリコンテンツの周囲の指定された領域に配信されます。
バナー広告オブジェクトを作成し、サイズを設定する
バナー広告ユニットを作成し、バナーサイズを設定します。バナーオブジェクトの作成は、OnInitSuccess コールバックを正常に受信した後に行う必要があります。
// Create ad configuration - optional
LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;
LevelPlayBannerAdView.Config adConfig = new LevelPlayBannerAdView.Config.Builder()
.setAdSize(adSize)
.setPlacementName("placementName")
.build();
// Create the banner view and set the ad unit id
LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId", adConfig);
// Create ad configuration - optional
val adSize = LevelPlayAdSize.BANNER
val adConfig = LevelPlayBannerAdView.Config.Builder()
.setAdSize(adSize)
.setPlacementName("placementName")
.build()
// Create the banner view and set the ad unit id
val levelPlayBanner = LevelPlayBannerAdView(context, "adUnitId", adConfig)
バナーサイズ
LevelPlayAdSize | Description | Dimensions in dp (Width X Height) |
BANNER | Standard banner | 320 x 50 |
LARGE | Large banner | 320 x 90 |
MEDIUM_RECTANGLE | Medium Rectangular (MREC) | 300 x 250 |
Adaptive | 広告を自動的にレンダリングして、モバイルやタブレット向けにサイズと方向を調整します | デバイスの幅 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 ad configuration - optional
LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;
LevelPlayBannerAdView.Config adConfig = new LevelPlayBannerAdView.Config.Builder()
.setAdSize(adSize)
.setPlacementName("placementName")
.build();
// Create the banner view and set the ad unit id
LevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId", adConfig);
// Add the banner view to the container
ViewGroup adContainer = findViewById(android.R.id.adContainer);
adContainer.addView(levelPlayBanner);
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) {
// Ad failed to be displayed on screen
}
@Override
public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {
// Ad was clicked
}
@Override
public void onAdExpanded(@NonNull LevelPlayAdInfo adInfo) {
// Ad is opened on full screen
}
@Override
public void onAdCollapsed(@NonNull LevelPlayAdInfo adInfo) {
// Ad is restored to its original size
}
@Override
public void onAdLeftApplication(@NonNull LevelPlayAdInfo adInfo) {
// User pressed on the ad and was navigated out of the app
}
});
// Load the banner ad
levelPlayBanner.loadAd();
// To get actual banner layout size (either custom/standard size or adaptive)
int height = adSize.getHeight();
int width = adSize.getWidth();
}
public fun createAndLoadBanner() {
// Create ad configuration - optional
val adSize = LevelPlayAdSize.BANNER
val adConfig = LevelPlayBannerAdView.Config.Builder()
.setAdSize(adSize)
.setPlacementName("placementName")
.build()
// Create the banner view and set the ad unit id
val levelPlayBanner = LevelPlayBannerAdView(context, "adUnitId", adConfig)
// Add the banner view to the container
val adContainer = findViewById<ViewGroup>(R.id.adContainer)
adContainer.addView(levelPlayBanner)
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) {
// Ad failed to be displayed on screen
}
override fun onAdClicked(adInfo: LevelPlayAdInfo) {
// Ad was clicked
}
override fun onAdExpanded(adInfo: LevelPlayAdInfo) {
// Ad is opened on full screen
}
override fun onAdCollapsed(adInfo: LevelPlayAdInfo) {
// Ad is restored to its original size
}
override fun onAdLeftApplication(adInfo: LevelPlayAdInfo) {
// User pressed on the ad and was navigated out of the app
}
})
// 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 を使用して実装を確認してください。
次のステップは?
実装ガイドに従って、追加の広告ユニットを実装します: