Ad revenue
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
logAdRevenue
method. Failing to do so may cause unexpected behavior.
To implement the method:
- Create an instance of
AFAdRevenueData
with 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
logAdRevenue
method with the following arguments:- The
AFAdRevenueData
object 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: 123.45)
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 thedidFinishLaunchingWithOptions
method, call the AdRevenuestart
method 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
logAdRevenue
API 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 3 days ago