Ad Revenue Callbacks
Appodeal SDK allows you to get impression-level revenue data with Ad Revenue Callbacks. This data includes information about network name, revenue, ad type, etc.
The impression-level ad revenue data can be used then to share with your mobile measurement partner of choice, such as Firebase, for all supported networks.
If you have integrated Firebase, which is included in Appodeal SDK, using this guide, then ad revenue data will be sent automatically, you can read more about it here in Step 2.
Minimum Requirements:
- Appodeal SDK 3.0.1+
Callback Implementation
- Subscribe to the Ad Revenue event using one of the options from this guide.
- You can use callbacks as shown below after:
public void YourMethod() { AppodealCallbacks.AdRevenue.OnReceived += (sender, args) => {}; }
Appodeal Ad Revenue Description
AppodealAdRevenue - represents revenue information from the ad network.
Parameter | Type | Description |
---|---|---|
NetworkName | String | The name of the ad network. |
DemandSource | String | The demand source name and bidder name in case of impression from real-time bidding. |
AdUnitName | String | Unique ad unit name. |
Placement | String | Appodeal's placement name. |
Revenue | Double | The ad's revenue amount or 0 if it doesn't exist. |
AdType | String | Appodeal's ad type as string presentation. |
Currency | String | Current currency supported by Appodeal (USD) as string presentation. |
RevenuePrecision | String | the revenue precision, which can be: |
Use Case
Please remember:
If you have integrated analytics for example Firebase using this guide with Appodeal, then no additional steps are required.
In case you are using your own analytics in the project, please find the example below:
#region IAdRevenueListener implementation public void OnAdRevenueReceived(AppodealAdRevenue ad) { //Appsflyer var dic = new Dictionary<string, string>(); dic.Add("AdUnitName", ad.AdUnitName); dic.Add("AdType", ad.AdType); AppsFlyerAdRevenue.logAdRevenue(ad.NetworkName, AppsFlyerAdRevenueMediationNetworkType.AppsFlyerAdRevenueMediationNetworkTypeAppodeal, ad.Revenue, ad.Currency, dic ); //Adjust AdjustAdRevenue adRevenue = new AdjustAdRevenue(“Appodeal”); adRevenue.setRevenue(ad.Revenue, ad.Currency); adRevenue.setAdRevenueNetwork(ad.NetworkName); adRevenue.setAdRevenueUnit(ad.AdUnitName); Adjust.trackAdRevenue(adRevenue); //Firebase Firebase.Analytics.FirebaseAnalytics.LogEvent( Firebase.Analytics.FirebaseAnalytics.EventAdImpression, new Firebase.Analytics.Parameter( Firebase.Analytics.FirebaseAnalytics.ParameterAdFormat, ad.AdType), new Firebase.Analytics.Parameter( Firebase.Analytics.FirebaseAnalytics.ParameterAdSource, ad.NetworkName), new Firebase.Analytics.Parameter( Firebase.Analytics.FirebaseAnalytics.AdUnitName, ad.AdUnitName), new Firebase.Analytics.Parameter( Firebase.Analytics.FirebaseAnalytics.AdCurrency, ad.Currency), new Firebase.Analytics.Parameter( Firebase.Analytics.FirebaseAnalytics.Value, ad.Revenue) ); } #endregion