Skip to content

Revenue reporting

Since version 1.7.0, apps can receive an estimated revenue that has likely been generated by an ad.

To do this, it is just needed to implement the corresponding delegate for each ad format, as shown in the example below:

extension ViewController : WABannerDelegate {
func didPayRevenue(bannerAd: WABannerAd, data: WARevenueData) {
// Invoked when the ad has generated revenue
}
}

The delegate receives an object of type WARevenueData that contains the following fields:

FieldTypeDescription
revenueWAAdValueThe revenue generated by the ad
sourceStringThe revenue source

In addition, the WAAdValue class contains the following fields that represent the revenue:

FieldTypeDescription
currencyStringThe currency corresponding to the revenue
precisionWAAdValue.PrecisionThe accuracy of the information. It can be estimated, precise or publisherDefined
valueDoubleThe revenue value

Below, a basic example is shown of how to report the revenue information to Firebase:

import FirebaseAnalytics
func didPayRevenue(bannerAd: WABannerAd, data: WARevenueData) {
let params = [
"currency": data.revenue.currency,
"precision": data.precision?.name,
"source": data.source,
"value": data.revenue.value
]
Analytics.logEvent("ad_revenue", parameters: params)
}