私が開発しているAndroidアプリでは、MoPubViewとMoPubInterstitialを正常に追加し、GoogleのAdMobと統合しました。MoPub のドキュメントには、権限を管理する必要があるという注意事項が 1 つあります (WRITE_EXTERNAL_STORAGE が許可されているかどうか)。この権限は MRAID に必要です。私が理解しているように、MRAID 広告は MoPubInterstitial で動画として表示でき、クライアントは MRAID の表示を許可しています。ユーザーが MRAID コンテンツを操作しても、アプリがクラッシュすることはありません。
現在の実装では選択の余地がないため、MRAID がロードされているかどうか、およびランタイム許可ダイアログをどこに配置するかを確認する方法。
MRAID 実装などの例が見つかりません。MoPub では、MRAID 関連のビューとアクティビティを AndroidManifest にリストする必要があります。
マニフェスト:
<activity
android:name="com.mopub.mobileads.MoPubActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.mobileads.MraidActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.common.MoPubBrowser"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.mobileads.MraidVideoPlayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
主な活動
public class MainActivity extends BaseActivity implements MoPubInterstitial.InterstitialAdListener, MoPubView.BannerAdListener, {
private void initAds() {
moPubView.setBannerAdListener(this);
moPubView.setAdUnitId(AD_UNIT);
moPubView.loadAd();
mInterstitial = new MoPubInterstitial(this,INTERSTITIAL_ADUNIT);
mInterstitial.setInterstitialAdListener(this);
mInterstitial.load();
}
@Override
public void onBannerLoaded(MoPubView banner) {
}
@Override
public void onBannerFailed(MoPubView banner, MoPubErrorCode errorCode) {
}
@Override
public void onBannerClicked(MoPubView banner) {
analytics.triggerEvent(BANNER_TAP);
}
@Override
public void onBannerExpanded(MoPubView banner) {
}
@Override
public void onBannerCollapsed(MoPubView banner) {
}
@Override
public void onInterstitialLoaded(MoPubInterstitial interstitial) {
if (mInterstitial.isReady()) {
mInterstitial.show();
}
}
@Override
public void onInterstitialFailed(MoPubInterstitial interstitial, MoPubErrorCode errorCode) {
}
@Override
public void onInterstitialShown(MoPubInterstitial interstitial) {
}
@Override
public void onInterstitialClicked(MoPubInterstitial interstitial) {
analytics.triggerEvent(EVENT.INTERSTITIAL_TAP);
}
@Override
public void onInterstitialDismissed(MoPubInterstitial interstitial) {
}
}