インタースティシャル広告を組み込むと広告はフルスクリーンで表示され、一般的にはバナー広告よりも高いレベルの双方向性を提供するリッチメディアを埋め込みます。 インタースティシャルは通常、ゲームでのステージ作成が完了した後や、新しいviewを読み込むための待ち時間など、アプリの遷移画面の間に表示されます。 `MoPubInterstitial` オブジェクトとそれに関連付けられたリスナーを使い、アプリ上にインタースティシャル広告を持ってきて表示することができます。
インタースティシャル広告をアプリに組み込む前に、入門ガイドの手順を踏んで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. インタースティシャル広告を作成して表示する
MoPub SDK では`MoPubInterstitial`というカスタムクラスを使用できます。これはインタースティシャル広告の取得と表示を制御します。 ユーザーの体感をスムーズにするため、`Activity`が作成されるとすぐに広告コンテンツを事前取得(pre-fetch)しておき、取得に成功したら表示するようにしてください。 インタースティシャル広告を表示する`Activity`では、`MoPubInterstitial` のインスタンス変数を宣言してください:
private MoPubInterstitial mInterstitial;
MoPubInterstitial` には、広告のライフサイクルイベントを通知するのに使用することができる`InterstitialAdListener`というリスナーインタフェースがあります。 `Activity` は`InterstitialAdListener`インタフェースを実装するようにしてください。 `Activity`’の `onCreate()` メソッド内で、context と入門ガイドで作成した広告ユニットIDを使って`MoPubInterstitial`のインスタンスを作成してください。
mInterstitial = new MoPubInterstitial(this, YOUR_INTERSTITIAL_AD_UNIT_ID_HERE);
次に、activity を InterstitialAdListenerとして登録します。:
// "this"というのは現在のactivityを参照していることを覚えておいてください。 mInterstitial.setInterstitialAdListener(this);
これで広告を表示する準備ができました。以下の4ステップで広告を表示します。:
1. `onCreate()` メソッド内で, `load()`を呼び出して広告の事前取得を開始する。インタースティシャル広告のコンテンツは大抵リッチメディアを内蔵しており読み込みに時間がかかるので、表示する前に取得しておくことが重要です。 `Activity`が最初に作成された時に事前取得することをお勧めしますが、ステージ作成が開始されるようなタイミングで取得することも選べます。
2. 広告を表示する準備ができた時、 `MoPubInterstitial.isReady()` を使ってインタースティシャルの事前取得に成功しているかどうかを確認します。
3. `isReady()` を実行して trueが戻り値として返された場合、`show()` メソッドを実行してインタースティシャルを表示します。 他のインタースティシャルライフサイクルメソッドにロジックを追加して、ユーザー操作によって広告側で発生するイベントを制御することができます; 例えば、ゲームが再開した時に発生する`onInterstitialDismissed()`。
4. 最後に、`Activity`’の `onDestroy` メソッド内で、インタースティシャルの`destroy()`メソッドを実行することを忘れないでください。 完成した`Activity` のコードは以下のようになります:
public class ExampleActivity extends Activity implements InterstitialAdListener { MoPubInterstitial mInterstitial; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mInterstitial = new MoPubInterstitial(this, YOUR_INTERSTITIAL_AD_UNIT_ID_HERE); mInterstitial.setInterstitialAdListener(this); mInterstitial.load(); } @Override protected void onDestroy() { mInterstitial.destroy(); super.onDestroy(); } // InterstitialAdListener methods @Override public void onInterstitialLoaded(MoPubInterstitial interstitial) { if (interstitial.isReady()) { mInterstitial.show(); } else { // Other code } } @Override public void onInterstitialFailed(MoPubInterstitial interstitial, MoPubErrorCode errorCode) {} @Override public void onInterstitialShown(MoPubInterstitial interstitial) {} @Override public void onInterstitialClicked(MoPubInterstitial interstitial) {} @Override public void onInterstitialDismissed(MoPubInterstitial interstitial) {} }
完全なサンプルについては、`mopub-sample`の`InterstitialDetailFragment.java`を参照してください。