LevelPlay Listener with Ad Info Integration
As part of ironSource SDK 7.2.3, you’ll be able to receive more data in ad callbacks, including network, segment, and A/B indication.
Implement the new ad unit listeners
Implement the new LevelPlay listeners, that support AdInfo callback.
The AdInfo represents the last ad that was loaded successfully, and is not included in Load Fail callbacks, as there’s no available ad.
We recommend you to unregister from the old listeners, to avoid data duplications.
Rewarded Video
IronSource.setLevelPlayRewardedVideoListener(new LevelPlayRewardedVideoListener() {
// Indicates that there's an available ad.
// The adInfo object includes information about the ad that was loaded successfully
// Use this callback instead of onRewardedVideoAvailabilityChanged(true)
@Override
public void onAdAvailable(AdInfo adInfo){}
// Indicates that no ads are available to be displayed
// Use this callback instead of onRewardedVideoAvailabilityChanged(false)
@Override
public void onAdUnavailable(){}
// The Rewarded Video ad view has opened. Your activity will loose focus
@Override
public void onAdOpened(AdInfo adInfo){}
// The Rewarded Video ad view is about to be closed. Your activity will regain its focus
@Override
public void onAdClosed(AdInfo adInfo){}
// The user completed to watch the video, and should be rewarded.
// The placement parameter will include the reward data.
// When using server-to-server callbacks, you may ignore this event and wait for the ironSource server callback
@Override
public void onAdRewarded(Placement placement, AdInfo adInfo){}
// The rewarded video ad was failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when the video ad was clicked.
// This callback is not supported by all networks, and we recommend using it
// only if it's supported by all networks you included in your build
@Override
public void onAdClicked(Placement placement, AdInfo adInfo){}
});
Rewarded Video Manual Load
IronSource.setLevelPlayRewardedVideoManualListener(new LevelPlayRewardedVideoManualListener() {
// Indicates that the Rewarded video ad was loaded successfully.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdReady(AdInfo adInfo) {}
// Invoked when the rewarded video failed to load
@Override
public void onAdLoadFailed(IronSourceError error){}
// The Rewarded Video ad view has opened. Your activity will loose focus
@Override
public void onAdOpened(AdInfo adInfo){}
// The Rewarded Video ad view is about to be closed. Your activity will regain its focus
@Override
public void onAdClosed(AdInfo adInfo){}
// The user completed to watch the video, and should be rewarded.
// The placement parameter will include the reward data.
// When using server-to-server callbacks, you may ignore this event and wait for the ironSource server callback
@Override
public void onAdRewarded(Placement placement, AdInfo adInfo){}
// The rewarded video ad was failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when the video ad was clicked.
// This callback is not supported by all networks, and we recommend using it
// only if it's supported by all networks you included in your build
@Override
public void onAdClicked(Placement placement, AdInfo adInfo){}
});
Interstitial
IronSource.setLevelPlayInterstitialListener(new LevelPlayInterstitialListener() {
// Invoked when the interstitial ad was loaded successfully.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdReady(AdInfo adInfo){}
// Indicates that the ad failed to be loaded
@Override
public void onAdLoadFailed(IronSourceError error){}
// Invoked when the Interstitial Ad Unit has opened, and user left the application screen.
// This is the impression indication.
@Override
public void onAdOpened(AdInfo adInfo){}
// Invoked when the interstitial ad closed and the user went back to the application screen.
@Override
public void onAdClosed(AdInfo adInfo){}
// Invoked when the ad failed to show
@Override
public void onAdShowFailed(IronSourceError error, AdInfo adInfo){}
// Invoked when end user clicked on the interstitial ad
@Override
public void onAdClicked(AdInfo adInfo){}
// Invoked before the interstitial ad was opened, and before the InterstitialOnAdOpenedEvent is reported.
// This callback is not supported by all networks, and we recommend using it only if
// it's supported by all networks you included in your build.
@Override
public void onAdShowSucceeded(AdInfo adInfo){}
});
Banner
banner.setLevelPlayBannerListener(new LevelPlayBannerListener() {
// Invoked each time a banner was loaded. Either on refresh, or manual load.
// AdInfo parameter includes information about the loaded ad
@Override
public void onAdLoaded(AdInfo adInfo){}
// Invoked when the banner loading process has failed.
// This callback will be sent both for manual load and refreshed banner failures.
@Override
public void onAdLoadFailed(IronSourceError error){}
// Invoked when end user clicks on the banner ad
@Override
public void onAdClicked(AdInfo adInfo){}
// Notifies the presentation of a full screen content following user click
@Override
public void onAdScreenPresented(AdInfo adInfo){}
// Notifies the presented screen has been dismissed
@Override
public void onAdScreenDismissed(AdInfo adInfo){}
//Invoked when the user left the app
@Override
public void onAdLeftApplication(AdInfo adInfo){}
});
Integrate the AdInfo data
Once you implement the LevelPlay Listeners with AdInfo, you’ll be able to use the data as part of your app’s data.
If the AdInfo data is not available, the adInfo string params will return an empty string, and the numeric params will return 0 value.
IronSource.setLevelPlayListener(LevelPlayInterstitialListener) {
@override
public void onAdReady (AdInfo adInfo)
{
String AdUnit = adInfo.getAdUnit();
String AuctionId = adInfo.getAuctionId();
String AdNetwork = adInfo.getAdNetwork();
String Ab = adInfo.getAb();
String Country = adInfo.getCountry();
String InstanceId = adInfo.getInstanceId();
String InstanceName = adInfo.getInstanceName();
String SegmentName = adInfo.getSegmentName();
Double Revenue = adInfo.getRevenue();
String Precision = adInfo.getPrecision();
String EncryptedCPM = adInfo.getEncryptedCPM();
}
}
Ad Info fields
Here’s a list of the relevant data fields, including description and type that are being returned as part of the new AdInfo object:
Parameter Name | Description | Data Type |
auctionId | Unique identifier for the auction | String |
adUnit | The ad unit displayed (Rewarded Video/Interstitial/Banner) | String |
adNetwork | The ad network name that served the ad | String |
instanceName | The ad network instance name as defined on the platform. For bidding sources, the instance name will be ‘Bidding’ | String |
instanceId | Identifier per network, this includes the ad network’s instanceID/placement/zone/etc. |
String |
country | Country code ISO 3166-1 format | String |
revenue | The revenue generated for the impression (USD). The revenue value is either estimated or exact, according to the precision (see precision field description) | Double |
precision | The source value of the revenue field: BID – The revenue provided as part of the real-time auction (Not supported by FAN bidders) RATE – manual price the publisher assigned to an instance in the LevelPlay platform CPM – Calculation based on historical instance performance, performed by LevelPlay platform |
String |
ab | Indication if A/B test was activated via LevelPlay platform | String |
segmentName | The segment the user is related to as defined based on the segmentation method | String |
encryptedCPM | Relevant for ads provided by Meta Audience Network only, and will be reported to publishers approved by Meta Audience Network within the closed beta | String |