2013-02-24 3 views
0

Согласно документу: https://developers.google.com/mobile-ads-sdk/docs/admob/advancedПоказаны AdMob междоузлий при переходе от одного вида деятельности к другому

Я прошу от одного вида деятельности,

interstitial.loadAd(adRequest); 
interstitial.setAdListener(this); 

И показать интерстициальные, когда оно получено в функции обратного вызова

@Override 
    public void onReceiveAd(Ad ad) { 
    Log.d("OK", "Received ad"); 
    if (ad == interstitial) { 
     interstitial.show(); 
    } 
    } 

Проблема в том, что перед вызовом onReceiveAd моя текущая деятельность завершена, и я перешел на другую деятельность, поэтому onReceiveAd никогда не называется.

Любое обходное решение для решения этой проблемы?

Спасибо.

+0

Самое простое решение просто не назвать следующую деятельность, пока вы не получите один из обратных вызовов (будь он получил/не удалось). – Geobits

+0

Невозможно, или он заблокирует пользовательский интерфейс пользователя, тогда как бытовое значение составляет менее 100%, что означает отсутствие рекламы. – Howard

+0

Право. Вот почему вы делаете это и на «неудачном» обратном вызове. Подробнее см. В [здесь] (http://stackoverflow.com/a/13039350/752320). – Geobits

ответ

0

Вы нашли ответ на этот вопрос? Я планирую это сделать, но я еще не пробовал, поэтому не уверен, что он сработает:

В классе помощника создайте статический метод для создания межстраничного объявления, а другой для обновления прослушивателя:

private static InterstitialAd interstitial; 

    public static void createIntertitialAd(Context myContext) { 
     if (interstitial == null) { 
      interstitial = new InterstitialAd(myContext, MY_INTERSTITIAL_UNIT_ID); 
      interstitial.loadAd(adRequest); 
      interstitial.setAdListener(myContext); 
     } 
    } 

    public static void updateAdListener(Context myContext) { 
     interstitial.setAdListener(myContext); 
    } 

Тогда на вашей деятельности необходимо выполнить следующие действия

@Override 
    public void onCreate() { 
     HelperClass.createIntertitialAd(this); 
     HelperClass.updateAdListener(this); 
    } 
Смежные вопросы