Ad revenue
Recommended
We recommend using our SDK integration wizard
The app sends impression revenue data to the AppsFlyer SDK. The SDK then sends it to AppsFlyer. These impression data is collected and processed in AppsFlyer, and the revenue is attributed to the original UA source. To learn more about ad revenue see here.
There are two ways for the SDK to generate an ad revenue event, depending on your SDK version. Use the correct method for your SDK version:
- SDK 6.15.0 and above. Uses the ad revenue SDK API.
- SDK 6.14.2 and below. Uses the ad revenue SDK connector.
Log ad revenue (for SDK 6.15.0 and above)
When an impression with revenue occurs invoke the logAdRevenue method with the revenue details of the impression.
Note
If you are using the AdRevenue connector, please remove it before switching to the new
logAdRevenuemethod. Failing to do so may cause unexpected behavior.
To implement the method:
- Create an instance of
AFAdRevenueDatawith the revenue details of the impression to be logged. - If you want to add additional details to the ad revenue event, populate a dictionary with key-value pairs.
- Invoke the
logAdRevenuemethod with the following arguments:- The
AFAdRevenueDataobject you created in step 1. - The dictionary with the additional details you created in step 2.
- The
Code Example
import AppsFlyerLib
let my_adRevenueData = AFAdRevenueData(monetizationNetwork: "ironsource",
mediationNetwork: MediationNetworkType.googleAdMob,
currencyIso4217Code: "USD",
eventRevenue: 0.0015)
var my_additionalParameters: [String: Any] = [:]
my_additionalParameters[kAppsFlyerAdRevenueCountry] = "US"
my_additionalParameters[kAppsFlyerAdRevenueAdType] = "Banner"
my_additionalParameters[kAppsFlyerAdRevenueAdUnit] = "89b8c0159a50ebd1"
my_additionalParameters[kAppsFlyerAdRevenuePlacement] = "place"
AppsFlyerLib.shared().logAdRevenue(my_adRevenueData, additionalParameters: my_additionalParameters)
[LEGACY] Log ad revenue (for SDK 6.14.6 and below)
To integrate the iOS ad revenue SDK connector, you need to import, initialize, and trigger the SDK.
Import the iOS ad revenue SDK
- In your Podfile, specify the following:
pod 'AppsFlyer-AdRevenue'
Important: If you have the AppsFlyerFramework pod in your Podfile, remove it to avoid a collision.
- Run the pod update.
Initialize the iOS ad revenue SDK
- In
AppDelegate, in thedidFinishLaunchingWithOptionsmethod, call the AdRevenuestartmethod using the following code:
import AppsFlyerLib
import AppsFlyerAdRevenue
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AppsFlyerAdRevenue.start()
}
@objc func applicationDidBecomeActive() {
AppsFlyerLib.shared().start()
}
}
Trigger the logAdRevenue API call
- Trigger the
logAdRevenueAPI call upon every valid impression, including mandatory, and any optional, arguments.
let adRevenueParams:[AnyHashable: Any] = [
kAppsFlyerAdRevenueCountry : "US",
kAppsFlyerAdRevenueAdUnit : "02134568",
kAppsFlyerAdRevenueAdType : "Banner",
kAppsFlyerAdRevenuePlacement : "place",
"foo" : "testcustom",
"bar" : "testcustom2"
]
AppsFlyerAdRevenue.shared().logAdRevenue(
monetizationNetwork: "facebook",
mediationNetwork: MediationNetworkType.googleAdMob,
eventRevenue: 0.026,
revenueCurrency: "USD",
additionalParameters: adRevenueParams)
Updated 6 months ago