MoPub MRAID для Android
В Android-приложении, которое я разрабатываю, я успешно добавил MoPubView и MoPubInterstitial и интегрировал с AdMob от Google. На документах MoPub есть одно замечание, что мы должны управлять разрешениями (независимо от того, разрешено или нет WRITE_EXTERNAL_STORAGE). Это разрешение требуется для MRAID. Как я понял, объявления MRAID можно показывать в MoPubInterstitial в виде видео, и клиент разрешает показ MRAID. Я не хочу, чтобы приложение зависало, если пользователь взаимодействует с контентом MRAID.
Как проверить, загружен ли MRAID и где разместить диалоговое окно прав доступа, поскольку текущая реализация не дает мне выбора.
Я не могу найти ни одного примера реализации MRAID или чего-либо еще. MoPub требует, чтобы вид, связанный с MRAID, отображался в AndroidManifest.
Manifest:
<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) {
}
}