Depuis la version 5.6.0, adView.setAdListener est obsolète. Comment pouvons-nous recevoir des rappels onAdLoaded et onError maintenant?
val interstitialAdFb = com.facebook.ads.InterstitialAd(this, resources.getString(R.string.fb_interstitial_id))
val adListener = object : com.facebook.ads.InterstitialAdListener {
override fun onLoggingImpression(p0: Ad?) {
TODO("Not yet implemented")
}
override fun onInterstitialDisplayed(p0: Ad?) {
TODO("Not yet implemented")
}
override fun onAdClicked(p0: Ad?) {
TODO("Not yet implemented")
}
override fun onInterstitialDismissed(p0: Ad?) {
}
override fun onError(p0: Ad?, p1: AdError?) {
}
override fun onAdLoaded(p0: Ad?) {
}
}
val loadAdConfig = interstitialAdFb.buildLoadAdConfig()
.withAdListener(adListener)
.build()
interstitialAdFb.loadAd(loadAdConfig)
//and when you want to show ad
if (interstitialAdFb.isAdLoaded)
interstitialAdFb.show()
Code d'annonce de bannière: pour résoudre le problème de la méthode setAdListener obsolète
Remplacez votre méthode setAdlistener () pour la bannière publicitaire en utilisant le code ci-dessous:
AdView adView = new AdView(context, context.getString(R.string.str_facebook_banner), AdSize.BANNER_HEIGHT_90);
AdListener adListener = new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
Log.e(TAG, "Fb failed :: " + adError.toString());
}
@Override
public void onAdLoaded(Ad ad) {
Log.e(TAG, "onAdLoaded: ");
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
};
AdView.AdViewLoadConfig loadAdConfig = adView.buildLoadAdConfig()
.withAdListener(adListener)
.build();
adView.loadAd(loadAdConfig);
Code d'annonce interstitielle: pour résoudre le problème de la méthode setAdListener obsolète
Vous pouvez utiliser le code ci-dessous pour remplacer la méthode setAdListener () pour l'annonce interstitielle:
InterstitialAd interstitialAd = new InterstitialAd(context, context.getString(R.string.str_facebook_interstitial));
InterstitialAdListener interstitialAdListener = new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
}
@Override
public void onError(Ad ad, AdError adError) {
Log.e(TAG, "Fb failed :: " + adError.toString());
}
@Override
public void onAdLoaded(Ad ad) {
Log.e(TAG, "onAdLoaded: ");
interstitialAd.show();
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
};
interstitialAd.loadAd(interstitialAd.buildLoadAdConfig()
.withAdListener(interstitialAdListener)
.withCacheFlags(ALL)
.build());
}
Lien de référence officiel: https://developers.facebook.com/docs/audience-network/changelog-Android#5_6_