Я интегрирую SDK для Android объявлений, который реализует несколько слушателей. Некоторые из этих слушателей не стреляют в мое приложение. Например, onAdLoaded будет срабатывать, но onAdDisplayed не будет. Это отлично работает в примере приложения, которое предоставляется с SDK, что приводит к мысли, что это проблема интеграции. Однако я не могу найти ничего, что вызывает эту ошибку. Это абсолютно странное поведение, с которым я никогда не сталкивался. Я знаю, что здесь хватаюсь за соломинку, но гипотетически говоря, что может быть причиной того, что некоторые слушатели не регистрируются, пока другие? Как я могу отладить это?Некоторые слушатели не стреляют
Вот код:
ad = new InterstitialAd(lastActivity, placementId);
ad.setAdListener(new InterstitialAdListener() {
//doesn't fire
@Override
public void onInterstitialDisplayed(Ad ad) {
Log.e(TAG, "INTERSTITIAL DISPLAYED");
Toast.makeText(lastActivity, "onInterstitialDisplayed", Toast.LENGTH_SHORT).show();
}
//doesn't fire
@Override
public void onInterstitialDismissed(Ad ad) {
Log.e(TAG, "INTERSTITIAL DISMISSED");
Toast.makeText(lastActivity, "onInterstitialDismissed", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(Ad ad, AdError adError) {
Log.e(TAG, "ERROR! " + adError.getErrorMessage());
Toast.makeText(lastActivity, "onError", Toast.LENGTH_SHORT).show();
}
@Override
public void onAdLoaded(Ad ad) {
Log.e(TAG, "AD LOADED!");
AdAdapter.this.ad.show();
Toast.makeText(lastActivity, "onAdLoaded", Toast.LENGTH_SHORT).show();
}
//doesn't fire
@Override
public void onAdClicked(Ad ad) {
Log.e(TAG, "AD CLICKED!");
Toast.makeText(lastActivity, "onAdClicked", Toast.LENGTH_SHORT).show();
}
});
ad.loadAd();
Если у вас возникли проблемы с onAdLoaded, это потенциально может быть проблемой отображения, если SDK не считает, что объявление полностью отображается, это не будет вызываться. Можете ли вы опубликовать XML? – Shooky
Вы используете 'com.google.android.gms.ads.InterstitialAd'? Если это так, 'setAdListener' ожидает объект AdListener, который не определяет' onInterstitialDisplayed' или 'onInterstitialDismissed', поэтому он объясняет, почему они никогда не запускаются ... https://developer.android.com/reference/com /google/android/gms/ads/InterstitialAd.html – blad