Рекламная вставка AdMob не отображается при переключении активности (Android)
В настоящее время я включаю AdMob в некоторые из своих приложений, но столкнулся с проблемой. Я пытаюсь отобразить вставку при изменении активности, так как это место, где она не будет раздражать пользователей.
Мое первоначальное понимание состояло в том, что показ объявления переведет действие в режим паузы и возобновит его после закрытия объявления.
Это предположение кажется неправильным, так как в приведенном ниже коде действие переключается напрямую, тост показывает, что реклама должна отображаться, но пока я не комментирую startActivity(намерение), я никогда не вижу рекламу,
Я загружаю объявление в onCreate, затем пытаюсь отобразить его в другом пустоте, который срабатывает при нажатии кнопки (и, конечно же, если он завершил загрузку к этому моменту времени).
Исходный код:
@Override
public void onCreate(Bundle SafedInstanceState)
{
[...]
LoadAd();
[...]
}
public void ShowAd(){
if (interstitial.isLoaded()) {
interstitial.show();
}
}
public void LoadAd(){
String MY_AD_UNIT_ID=getResources().getString(R.string.AdID);
// Create the interstitial.
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(MY_AD_UNIT_ID);
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
}
public void SWITCHACTIVITY (View view) {
ShowAd();
Intent intent = new Intent (this, ANOTHERACTIVITY.class);
startActivity(intent);
finish();
}
Высоко ценим любой вклад в то, что я делаю здесь неправильно или как я смог добиться того, чтобы объявление отображалось, а действие переключалось / закрывалось ПОСЛЕ закрытия объявления.
Заранее спасибо!
1 ответ
Хорошо, так что я обошел это. Несколько некрасиво, но оно делает именно то, что я хочу. Перед вызовом ShowAd() я устанавливаю свое намерение, а затем запускаю его после закрытия объявления:
public void ShowAd(){
if (interstitial.isLoaded()) {
interstitial.show();
interstitial.setAdListener(new AdListener() {
public void onAdClosed() {
if (PostAdIntent != null)
{
startActivity(PostAdIntent);
PostAdIntent = null;
finish();
};
}
});
} else
{
if (PostAdIntent != null)
{
startActivity(PostAdIntent);
PostAdIntent = null;
finish();
};
}
}