OpenRTB Taxonomy parameters and Multibid - adform/adform-ios-sdk GitHub Wiki

📘 Adform OpenRTB Taxonomy parameters and multibid

This guide explains how to integrate and use the OpenRTB taxonomy parameters and multibid in your iOS project for loading native ads via OpenRTB protocol.

1. Create an OpenRTB Request with taxonomy parameters configuration

The OpenRTBBidLoader requires an OpenRTB request object that specifies the ad request details:


        // Create OpenRtbBuilder
        let builder = AFOpenRTBRequestBuilder(
            rtbId: "YOUR_REQUEST_ID",
            imps: [AFImp()]
        )
        
        // Create user object
        let user = AFUser()
        
        // Create user data object
        let userData = AFUserData()
        userData.identifier = "011981"
        userData.name = "User data name"
        
        // Pass extra data if required
        let userDataExt = AFUserDataExt()
        userDataExt.segtax = 1
        userData.ext = userDataExt
        
        // Create User data segments
        let segment = AFUserDataSegment()
        segment.identifier = "211242"
        segment.name = "segment name"
        segment.value = "segment vaalue"
        
        // Pass extra data if required
        segment.ext = ["extraData": 0]
        
        // User data can contain up to 20 segments
        userData.segment = [segment]
        
        // User can contain up to 5 taxonomy data parameters
        user.data = [userData]
        builder.user = user
        
        // To receive multiple add response activate multibid feature
        // Create RequestExt
        let requestExt = AFRequestExt()
        requestExt.multibid = true
        builder.ext = requestExt
        
        let request = builder.createOpenRtbRequest()

2. Create and Use the OpenRTBBidLoader

Once you have your request object, you can request an ad using OpenRTBBidLoader:

        AFOpenRTBBidLoader.requestAd(request) { response, error in
            print("Native ad response: \(response), error: \(error)")
        }