バナー広告と中サイズ矩形広告をAndroidアプリに追加する

Audience Network使用して、AndroidアプリにFacebook広告を掲載し、収益化することができます。このガイドでは、アプリにバナー広告と中サイズ矩形広告を追加する方法について説明します。

You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).

Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.

他の種類の広告ユニットに興味がある場合は、使用できる種類の一覧をご覧ください。

先に進む前に、Android設定ガイドの手順を完了してあることを確認してください。

バナー広告と中サイズ矩形広告の手順

ステップ1: バナー広告のレイアウトコンテナを追加する

ステップ2: アクティビティにバナーを実装する

ステップ3: 広告リスナーを追加する

ステップ1: バナー広告のレイアウトコンテナを追加する

レイアウトファイル(例: /res/layout/activity_main.xml)で、広告のコンテナとして機能するレイアウトを追加します。
後でコードで参照するので、ここで設定したIDを覚えておいてください。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
...
>
...
<LinearLayout
android:id="@+id/banner_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
/>
...
</RelativeLayout>

ステップ2: アクティビティにバナーを実装する

Facebook広告SDKをインポートするには、アクティビティの先頭に以下のコードを追加します。

import com.facebook.ads.*;

次に、AdViewオブジェクトをインスタンス化し、広告の読み込みをリクエストします。AdViewViewのサブクラスなので、他のビューと同じようにしてビュー階層に追加できます。

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
...
// Instantiate an AdView object. 
// NOTE: The placement ID from the Facebook Monetization Manager identifies your App.
// To get test ads, add IMG_16_9_APP_INSTALL# to your placement id. Remove this when your app is ready to serve real ads.

adView = new AdView(this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);

// Find the Ad Container
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);

// Add the ad view to your activity layout
adContainer.addView(adView);

// Request an ad
adView.loadAd();
}

タブレット用のアプリを構築している場合は、代わりにAdSize.BANNER_HEIGHT_90サイズの使用を検討してください。どの場合でも、バナーの幅は自由に設定できますが最小値は320pxです。

最後に、AdViewが使うリソースを解放するため、以下のコードをアクティビティのonDestroy()関数に追加します。

@Override
protected void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}

上記のコードが実行されると、表示は次のようになります。



デフォルトのGoogle Androidエミュレータを使用する場合は、テスト広告の読み込み前に次のコード行を追加します。
AdSettings.addTestDevice("HASHED ID");

指定するIDは、デバイス上で広告を読み込むリクエストを最初に実行したときLogCatに出力される、ハッシュ化されたIDです。

Genymotionと物理的なデバイスではこのステップは必要ありません。実際の広告を使用してテストする場合は、テストガイドをご覧ください。

ステップ3: 広告リスナーを追加する

基本コードが実行されているので、特定のイベントをリッスンするため、AdListenerAdViewに設定できます。

import android.widget.Toast;
...

protected void onCreate(Bundle savedInstanceState) {
...
AdListener adListener = new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
// Ad error callback
Toast.makeText(
MainActivity.this,
"Error: " + adError.getErrorMessage(),
Toast.LENGTH_LONG)
.show();
}

@Override
public void onAdLoaded(Ad ad) {
// Ad loaded callback
}

@Override
public void onAdClicked(Ad ad) {
// Ad clicked callback
}

@Override
public void onLoggingImpression(Ad ad) {
// Ad impression logged callback
// Please refer to Monetization Manager or Reporting API for final impression numbers
}
};

// Request an ad
adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build());
}

広告バナーサイズ

Audience Networkでは、AdViewで使う広告サイズとして3種類のものがサポートされています。バナーユニットの幅は320ピクセル以上であれば自由に設定でき、高さのみが定義されています。

広告フォーマット 広告サイズのリファレンス サイズ 推奨事項

標準的なバナー

BANNER_50

320x50

携帯電話に最適です。

大サイズのバナー

BANNER_90

320x90

タブレットや大型デバイスに最適です。

中サイズのバナー

RECTANGLE_HEIGHT_250

300x250

スクロールできるフィードや最終階層の画面に最適です。

次のステップ