#java #android #facebook-audience-network
#java #Android #facebook-аудитория-сеть
Вопрос:
Я получаю эту ошибку при использовании InterstitialAdListener
Anonymous class derived from InterstitialAdListener' must either be declared > abstract or implement abstract method 'onInterstitialDismissed(Ad) in
'InterstitialAdListener'
InterstitialAdListener
Подчеркнуто красным цветом.
Я попытался уменьшить его до com.facebook.ads.AdListener
, но у меня тоже не работает, я обновил SDK, чтобы посмотреть, решит ли это проблему, но не повезло.
Как я могу решить эту проблему?
private void initInterstitialAdPrepare() {
interstitialAd = new InterstitialAd(this, "xxxxxxxx_xxxxxxxxx");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
// Interstitial ad displayed callback
Log.e(TAG, "Interstitial ad displayed.");
}
@Override
public void onError(Ad ad, AdError adError) {
// Ad error callback
Log.e(TAG, "Interstitial ad failed to load: " adError.getErrorMessage());
}
@Override
public void onAdLoaded(Ad ad) {
// Interstitial ad is loaded and ready to be displayed
Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
}
// Show the ad
interstitialAd.show();
}
Ответ №1:
Вызовите это в onCreate
private void requestInterstitialAd(){
interstitialAd = new InterstitialAd(this, getResources().getString(R.string.interstitial_ad_id)); //YOUR_PLACEMENT_ID
interstitialAd.loadAd();
}
Используйте этот код там, где вы хотите загрузить ad, и для заставки используйте его, как только ваш таймер заставки будет завершен
if(interstitialAd.isAdLoaded()) {
interstitialAd.show();
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onError(Ad ad, AdError adError) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
requestInterstitialAd();
//Perform your functionality here
}
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
}
else {
requestInterstitialAd();
//Perform your functionality here in case ad is not loaded before
}