Skip to content

Commit

Permalink
Fix NPE case where destroy() was called before BannerView callback ha…
Browse files Browse the repository at this point in the history
…ppens.
  • Loading branch information
lmoreault committed Nov 22, 2023
1 parent 10ff8e3 commit 3579ca5
Showing 1 changed file with 11 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,17 +78,13 @@ public class UnityBannerAd extends UnityMediationAdapter implements MediationBan
private BannerView.IListener unityBannerListener = new BannerView.Listener() {
@Override
public void onBannerLoaded(BannerView bannerView) {
String logMessage = String.format("Unity Ads finished loading banner ad for placement ID: %s",
UnityBannerAd.this.bannerView.getPlacementId());
Log.d(TAG, logMessage);
logBannerMessage("Unity Ads finished loading banner ad for placement ID: %s", bannerView);
eventAdapter.sendAdEvent(AdEvent.LOADED);
}

@Override
public void onBannerClick(BannerView bannerView) {
String logMessage = String.format("Unity Ads banner ad was clicked for placement ID: %s",
UnityBannerAd.this.bannerView.getPlacementId());
Log.d(TAG, logMessage);
logBannerMessage("Unity Ads banner ad was clicked for placement ID: %s", bannerView);
eventAdapter.sendAdEvent(AdEvent.CLICKED);
eventAdapter.sendAdEvent(AdEvent.OPENED);
}
Expand All @@ -100,19 +96,22 @@ public void onBannerFailedToLoad(BannerView bannerView, BannerErrorInfo bannerEr

@Override
public void onBannerLeftApplication(BannerView bannerView) {
String logMessage = String.format("Unity Ads banner ad left application for placement ID: %s",
UnityBannerAd.this.bannerView.getPlacementId());
Log.d(TAG, logMessage);
logBannerMessage("Unity Ads banner ad left application for placement ID: %s", bannerView);
eventAdapter.sendAdEvent(AdEvent.LEFT_APPLICATION);
}

@Override
public void onBannerShown(BannerView bannerView) {
String logMessage = String.format("Unity Ads banner ad was shown for placement ID: %s",
UnityBannerAd.this.bannerView.getPlacementId());
Log.d(TAG, logMessage);
logBannerMessage("Unity Ads banner ad was shown for placement ID: %s", bannerView);
eventAdapter.sendAdEvent(AdEvent.IMPRESSION);
}

private void logBannerMessage(String message, BannerView bannerView) {
if (bannerView != null) {
String logMessage = String.format(message, bannerView.getPlacementId());
Log.d(TAG, logMessage);
}
}
};

@Override
Expand Down

0 comments on commit 3579ca5

Please sign in to comment.