我正在使用带有片段的导航抽屉,并且在其中一个片段中我有一个多级列表。
在我的ActionBarActivity.java
我有:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
// returning to previous
if (item != null && item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
和onBackPressed();
:
public void onBackPressed() {
// return to the previous fragment stack
FragmentManager fragmentManager = getFragmentManager();
if (fragmentManager.getBackStackEntryCount() > 0) {
fragmentManager.popBackStack();
// show the ad
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
} else {
super.onBackPressed();
}
}
当用户单击多级列表片段中的后退按钮时,我想显示InterstitialAd
。上述解决方案有效,但它只在单个项目上显示一次广告。
所以这是一个示例运行:
- user opens the app and first fragments lists a list of items
- user clicks on Item #1 and enters that item details
- user clicks back (Ad is shown) and goes back to all items
- user clicks on Item #2 and enters that item details
- user clicks back (but Ad is not shown) and goes back to all items
不确定为什么当用户第二次点击后面等等时,广告不会显示。有人可以建议一个可能的解决方案吗?
更新#1:
以下是我在onCreate
上创建插页式广告的方式:
// interstitial ads
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(AD_ID);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
}
});
requestNewInterstitial();
和:
private void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
.build();
mInterstitialAd.loadAd(adRequest);
}
答案 0 :(得分:0)
在显示插页式广告后,您需要再次致电interstital.loadAd()
。
从onAdClosed()
(以及onCreate()
)中调用它。