Объявление межстраничного объявления Admob не будет отображаться

Я использовал для отображения баннера AdMob в своих будущих приложениях, и я хотел бы попробовать попробовать межстраничные объявления.

Я проверил SDK AdMob для реализации, и я скопировал их примерный источник, потому что это было именно то, что я хочу (т.е. интерстициальный показ при запуске активности).

Я попробовал это на эмуляторе и на моей Галактике, ни одно объявление не было показано.

Вот исходный код:

public class Asscreed extends Activity {
    private InterstitialAd interstitial;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_asscreed);

        // Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("ca-app-pub-6046034785851961/xxxxxx");

        // Create ad request.
        AdRequest adRequest = new AdRequest.Builder().build();

        // Begin loading your interstitial.
        interstitial.loadAd(adRequest);
    }

    // Invoke displayInterstitial() when you are ready to display an interstitial.
    public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }
}

Импорт в порядке, и, конечно, импортируется библиотека Google Play Services.

Я использую этот пример: AdMob Android Guides - межстраничное объявление.

Может ли кто-нибудь сказать мне, что не так в моем коде?

Ответы

Ответ 1

Вы должны дождаться загрузки объявления. Только тогда вы можете вызвать метод displayInterstial(), который будет показывать объявление.

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

interstitial.setAdListener(new AdListener(){
          public void onAdLoaded(){
               displayInterstitial();
          }
});

Ответ 2

это сделало это для меня.

// Begin listening to interstitial & show ads.
interstitial.setAdListener(new AdListener(){
     public void onAdLoaded(){
          interstitial.show();
     }
});

Я все еще удивляюсь, почему все ребята в коде загрузки Google реализуют инструкции, которые просто не работают после того, как они следуют за ними до точки.

Ответ 3

У меня была та же проблема. Проблема заключалась в том, что активность admob не была определена в манифесте. Пожалуйста, убедитесь, что в вашем файле манифеста имеется следующий ярлык активности.

<activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />

Ответ 4

Я решил это, изменив свой идентификатор admob на старый элемент приложения, например ca-app-pub-0243484158988577/9196272994

Ответ 5

mInterstitialAd = new InterstitialAd(this);
                mInterstitialAd.setAdUnitId("Your Interstitial Id ca-app-pub-46563563567356235/3452455");
                AdRequest adRequest1 = new AdRequest.Builder()
                        .build();
                mInterstitialAd.loadAd(adRequest1);
                mInterstitialAd.setAdListener(new com.google.android.gms.ads.AdListener() {
                    @Override
                    public void onAdLoaded() {
                        mInterstitialAd.show();
                        super.onAdLoaded();

                    }
                });

Ответ 6

Вы не вызывали displayInsterstitial().

Но то, что вы должны сделать, это вызвать слушателя для межстраничного:

interstitial.setAdListener(this);

Затем он реализует Listener для вашей активности, а затем отображает его onAdLoaded (или что-то еще).