在我正在开发的 android 应用程序中,我已成功添加 MoPubView 和 MoPubInterstitial 并与 Google 的 AdMob 集成。MoPub 文档上有一条注释,我们应该管理权限(无论是否允许 WRITE_EXTERNAL_STORAGE)。MRAID 需要此权限。据我了解,MRAID 广告可以在 MoPubInterstitial 中显示为视频,并且客户端允许显示 MRAID。如果用户与 MRAID 内容交互,我不会让应用程序崩溃。
如何检查 MRAID 是否已加载以及运行时权限对话框的放置位置,因为当前的实现没有给我任何选择。
我找不到任何 MRAID 实现的例子或任何东西。MoPub 要求在 AndroidManifest 中列出与 MRAID 相关的视图和活动。
显现:
<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) {
}
}