バナー広告は、通常あなたアプリ画面の上部か下部に表示されます。数行のコードだけてアプリにバナー広告を追加できます。
バーナー広告をアプリに組み込む前に、 入門ガイドの手順を踏んでMoPub のアカウントを作成し、プロジェクトにSDK を組み込む必要があります。
完全なサンプルについては、mopub-sampleをチェックアウトしてください。
1. あなたのAndroid Manifest.xml ファイルを確認します
以下のようなアクセス権(permission)にしてください:
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
絞り込みのために端末からユーザーの位置情報を自動的に送信させたい場合は、`ACCESS_COARSE_LOCATION` もしくは `ACCESS_FINE_LOCATION`のアクセス権のみが必要です。
あなたのアプリがユーザーから位置情報を収集する場合は、位置情報付きの広告表示はより多くの収入が得られるので、位置情報を渡すことを推奨します。 `WRITE_EXTERNAL_STORAGE` は必要に応じて設定するアクセス権で、`MRAID 2.0`の store picture 広告でのみ必要です。 また、以下のカスタムアクティビティをインクルードする必要があります (例えあなたがこれらのインスタンスを直接作成しなかったとしてもです。):
<activity android:name="com.mopub.mobileads.MoPubActivity" android:configchanges="keyboardHidden|orientation"></activity> <activity android:name="com.mopub.mobileads.MraidActivity" android:configchanges="keyboardHidden|orientation"></activity> <activity android:name="com.mopub.common.MoPubBrowser" android:configchanges="keyboardHidden|orientation"></activity> <activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity" android:configchanges="keyboardHidden|orientation"></activity>
2. layout XMLでバナー広告の設定位置を定義する
MoPub SDK ではMoPubViewというカスタムビューサブクラスを使用できます。これは広告のリクエストと読み込みを制御します。 このXMLブロックをインクルードして、ActivityもしくはFragmentのレイアウトを開始します。 想定しているバナー広告のサイズは、横幅はスクリーン一杯、高さは 50dp です; このサイズは変更できません。
<com.mopub.mobileads.mopubview android:id="@+id/adview" android:layout_width="fill_parent" android:layout_height="50dp"> </com.mopub.mobileads.mopubview>
3. 広告をバナー用スペースへ読み込む
次に、Activity もしくは Fragment のコード内で、MoPubView用のインスタンス変数を宣言します:
private MoPubView moPubView;
あなたは既にMoPubのサイトで広告ユニットを作成して広告ユニットIDを受け取っていることでしょう。 そのIDを使いアプリ上で広告ユニットを識別して、MoPub からユーザーに関連のある広告をリクエストします。 Activityの `onCreate()` メソッドや Fragmentの `onCreateView()` メソッド上で `MoPubView`’の広告ユニットIDを設定すると、単に `loadAd()`メソッドを実行しただけで広告を取ってきて表示します:
... moPubView = (MoPubView) findViewById(R.id.adview); moPubView.setAdUnitId("xxxxxxxxxxx"); // Enter your Ad Unit ID from www.mopub.com moPubView.loadAd(); ...
使用している Activity や Fragment が破棄(destroy)され時には、以下を実行して MoPubView も破棄するようにしてください:
moPubView.destroy();
`MoPubView` には、広告のライフサイクルイベントを通知するのに使用することができる`BannerAdListener`というリスナーインタフェースがあります。 `BannerAdListener` は以下の手順でインクルードします:
// バナーが広告を受け取るのに成功した時に通知される。 public void onBannerLoaded(MoPubView banner); // バナーが広告の受け取りに失敗した時に通知される。MoPubErrorCode 引数を使って失敗の原因を調べることができます。 public void onBannerFailed(MoPubView banner, MoPubErrorCode errorCode); // バナーがタップされた時に通知される。 public void onBannerClicked(MoPubView banner); // Sent when the banner has just taken over the screen. public void onBannerExpanded(MoPubView banner); // 拡張されたバナーが元のサイズに戻された時に通知される。 public void onBannerCollapsed(MoPubView banner);
イベントを検知するには、リスナーインタフェースを実装する必要があります:
public class ExampleActivity extends Activity implements BannerAdListener { @Override public void onBannerLoaded(MoPubView banner) { Toast.makeText(getApplicationContext(), "Banner successfully loaded.", Toast.LENGTH_SHORT).show(); } // ... 他のBannerAdListener メソッド ... }
そしてMoPubView を作成した時にActivity を引数として渡します。 (MoPubView の作成については上述の手順 3を参照してください):
moPubView.setBannerAdListener(this);
`MPAdView`は、MoPub ウェブインタフェースから設定した時間間隔ごとに、自動的に広告ユニットを更新します。 `setAutorefreshEnabled`メソッドを使用して、特定の`MoPubView`の自動更新(auto-refresh)をプログラム上から切り替えることもできます。
注意: Eclipse では時々、リソースを使うための `import android.R` という一文をファイルの上部に追加することがあります。 特に、Eclipse にimport部分の並び替えや管理をさせている場合に発生します。 これによってビルドが妨げられる場合があります; import 文を削除することで、これを改善できます。