Я использую навигационный ящик с фрагментами и внутри одного из фрагментов. У меня есть многоуровневый список. В моей ActionBarActivity.java
у меня есть:Android Fragment InterstitialAd onBackPressed
@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);
}
Я обновил вопрос, не могли бы вы снова взглянуть? –