Mediation

Listener Usage

By implementing and providing ChartboostMediationFullscreenAdListener and ChartboostMediationBannerAdViewListener interfaces to the Chartboost Mediation objects, you can get notifications about the success, failure, and other lifecycle events of Mediation Ads.

ChartboostMediationFullscreenAdListener πŸ”—

You can implement the ChartboostMediationFullscreenAdListener interface to receive notifications about interstitial and rewarded ads loading, displaying, and closing.

  • val chartboostMediationFullscreenAdListener = object : ChartboostMediationFullscreenAdListener {
        override fun onAdClicked(ad: ChartboostMediationFullscreenAd) {
            Log.d(TAG, "Ad clicked for placement: ${ad.request.placement}")
        }
    
        override fun onAdClosed(ad: ChartboostMediationFullscreenAd, error: ChartboostMediationAdException?) {
            error?.let {
                Log.d(TAG, "Ad closed with error for placement: ${ad.request.placement} " +
                "reason: ${it.message}")
            } ?: run {
                Log.d(TAG, "Ad closed for placement: ${ad.request.placement}")
            }
        }
    
        override fun onAdRewarded(ad: ChartboostMediationFullscreenAd) {
            Log.d(TAG, "Ad rewarded user for placement: ${ad.request.placement}")
        }
    
        override fun onAdImpressionRecorded(ad: ChartboostMediationFullscreenAd) {
            Log.d(TAG, "Ad recorded impression for placement: ${ad.request.placement}")
        }
    
        override fun onAdExpired(ad: ChartboostMediationFullscreenAd) {
            Log.d(TAG, "Ad expired for placement: ${ad.request.placement}")
        }
    }
    
  • ChartboostMediationFullscreenAdListener chartboostMediationFullscreenAdListener = new ChartboostMediationFullscreenAdListener() {
        @Override
        public void onAdClicked(@NonNull ChartboostMediationFullscreenAd ad) {
            Log.d(TAG, "Ad clicked for placement: " + ad.getRequest().getPlacement());
        }
    
        @Override
        public void onAdClosed(@NonNull ChartboostMediationFullscreenAd ad, @Nullable ChartboostMediationAdException error) {
            if (error != null) {
                Log.d(TAG, "Ad closed with error for placement: " + ad.getRequest().getPlacement() + " reason: " + error.getMessage());
            } else {
                Log.d(TAG, "Ad closed for placement: " + ad.getRequest().getPlacement());
            }
        }
    
        @Override
        public void onAdRewarded(@NonNull ChartboostMediationFullscreenAd ad) {
            Log.d(TAG, "Ad rewarded user for placement: " + ad.getRequest().getPlacement());
        }
    
        @Override
        public void onAdImpressionRecorded(@NonNull ChartboostMediationFullscreenAd ad) {
            Log.d(TAG, "Ad recorded impression for placement: " + ad.getRequest().getPlacement());
        }
    
        @Override
        public void onAdExpired(@NonNull ChartboostMediationFullscreenAd ad) {
            Log.d(TAG, "Ad expired for placement: " + ad.getRequest().getPlacement());
        }
    };
    

ChartboostMediationBannerAdViewListener πŸ”—

You can implement the ChartboostMediationBannerAdViewListener interface to receive notifications about banner ad events.

  • val chartboostMediationBannerAdViewListener = object : ChartboostMediationBannerAdViewListener {
        override fun onAdClicked(placement: String) {
            Log.d(TAG, "Ad clicked for placement: $placement")
        }
    
        override fun onAdImpressionRecorded(placement: String) {
            Log.d(TAG, "Ad impression recorded for placement: $placement")
        }
    
        override fun onAdViewAdded(placement: String, child: View?) {
            Log.d(TAG, "Ad view added for placement: $placement")
        }
    }
    
  • ChartboostMediationBannerAdViewListener chartboostMediationBannerAdViewListener = new ChartboostMediationBannerAdViewListener() {
        @Override
        public void onAdClicked(@NonNull String placement) {
            Log.d(TAG, "Ad clicked for placement: " + placement);
        }
    
        @Override
        public void onAdImpressionRecorded(@NonNull String placement) {
            Log.d(TAG, "Ad impression recorded for placement: " + placement);
        }
    
        @Override
        public void onAdViewAdded(@NonNull String placement, @Nullable View child) {
            Log.d(TAG, "Ad view added for placement: " + placement);
        }
    };
    

Note Not all partner SDKs support the onAdClicked and onAdRewarded callbacks.