Menu

Callback Delegate Parameters

Delegate Parameters Description

1. Get callback information

TopOn iOS SDK returns the specific information of the advertising source in the callback, including the display revenue and related advertising platforms.

The extra parameter at the end of the callback method of TopOn iOS SDK returns the information defined by TopOn for you to obtain. The key used to obtain the information varies depending on the version of TopOn iOS SDK. Please confirm your SDK version and refer to the following link:

In addition, you can also obtain custom information in the callback method with extra parameters. Please refer to the extra parameters section.

Callback information printing example:

json Copy
{
    "id": "84c3c5940e4fab2d8712299d631e09b3", // Impression ID generated for each ad display
    "publisher_revenue": "0.0015", // Revenue generated per impression
    "ad_source_id": 9805, // Ad source ID. Network information can be queried via Developer Dashboard or TopOn Open API using this ID
    "network_firm_id": 8, // Refer to Network Firm Id Table
    "adsource_isHeaderBidding": 0, // Whether it's a Header Bidding ad source (1 indicates Header Bidding)
    "adsource_price": 1.5, // eCPM value (currency unit)
    "precision": "publisher_defined", // eCPM precision: publisher_defined - developer-defined ecpm; exact - HB real-time bidding ecpm; estimated - TopOn estimated ecpm
    "adsource_index": 0, // Ad source priority (0 indicates highest priority)
    "ecpm_level": 1, // Ranking level based on eCPM
    "segment_id": 0, // Traffic segmentation ID
    "adunit_format": "Splash", // Ad format type
    "adunit_id": "b5e65ad3ab084b", // Ad unit ID (TopOn Placement ID)
    "country": "CN", // Country code
    "currency": "USD", // Currency unit
    "network_placement_id": 887305510, // Third-party platform's unit ID
    "network_type": "Network", // Network type: Network - third-party ads; Cross_Promotion - cross-promotion
    "scenario_id": "f5e549727efc49", // Ad scenario ID
    "scenario_reward_name": "rewardedSence", // Incentive name for ad scenario
    "scenario_reward_number": 0, // Incentive quantity for ad scenario
    "channel": "test_channel", // Channel identifier
    "sub_channel": "test_subchannel", // Sub-channel identifier
    "custom_rule": {
        "custom_data_key": "custom_data_val"
    }, // Custom rules
    "ext_info": {
        "creative_id": "42-348448957", // Creative material ID of the Offer
        "is_deeplink": 0, // Whether it's a Deeplink or JumpURL offer (1 indicates Deeplink/JumpURL)
        "offer_id": "GDTONLINE-348448957", // Ad ID of the Offer
        "currencyCode": "USD", // Admob display revenue currency unit [Note: This field has been modified, please refer to documentation end]
        "precision": 0, // Admob display revenue precision: 0-unknown, 1-estimated, 2-publisher provided, 3-precise [Note: Deprecation]
        "value": 0.1, // Admob display revenue specific value [Note: Deprecation]
        "en_p": "5GWtXa-X-sazi-xluLlqMyBCGWIIAZQ_8p7bM2-LqeQ" // Baidu price encryption field (requires TakuSDK>6.3.63 and Baidu SDK≥5.37)
    }, // Additional information for TopOn Adx & OnlineAPI Offer & Admob
    "placement_type": 1, // Placement type: 1 - real ad placement, 2 - shared ad placement
    "shared_placement_id": "p1en19jjiirsf3", // Shared placement ID
    "user_load_extra_data": {
        "user_custom_data": "media_val"
    } // Custom parameter information passed before Load
}

2. Filed Info

For a list of advertising platforms corresponding to the network_firm_id field, please click here.

Migration tips: If your current SDK version is lower than v6.3.61, the Key fields are unified. It is recommended that you replace the Key value of the corresponding extra dictionary according to the "Field Name" column in the table.

Field Name type Extra parameter corresponding to Key illustrate
network_firm_id int kATADDelegateExtraNetworkFirmIdKey Get the ID corresponding to the advertising platform, which is used to distinguish the advertising platform. Refer to Network Firm Id Table
adsource_id String kATADDelegateExtraAdSourceIdKey Get the ad source ID. You can query specific network information through the ad source ID in the developer backend or TopOn Open API
adsource_index int kATADDelegateExtraPriorityKey Get the ranking of the current ad source in the currently executed WaterFall (starting from 0 with the highest optimization level)
adsource_price double kATADDelegateExtraAdSourcePriceKey Get the estimated eCPM (the regular ad source is the manually filled eCPM price, and the bidding ad source is the real-time bidding price). The currency unit of eCPM can be obtained through currency (corresponding to US dollars or yuan, etc.), and the accuracy can be obtained through precision.
adsource_isheaderbidding int kATADDelegateExtraIsHeaderBiddingKey Whether it is a header bidding ad source. 1: Yes, 2: No
id String kATADDelegateExtraIDKey Get a unique ID generated each time an ad is displayed
publisher_revenue double kATADDelegateExtraPublisherRevenueKey Get the revenue brought by this display. The unit can be obtained through currency and the accuracy can be obtained through precision
currency String kATADDelegateExtraCurrencyKey Get the currency unit, for example: "USD"
country String kATADDelegateExtraCountryKey Get the country code, for example: "CN"
adunit_id String kATADDelegateExtraAdunitIDKey Get the TopOn ad slot ID
adunit_format String kATADDelegateExtraFormatKey Get the ad type, including: "Native", "RewardedVideo", "Banner", "Interstitial", "Splash"
precision String kATADDelegateExtraPrecisionKey Get eCPM accuracy "publisher_defined": eCPM defined by the developer for the ad source in the TopOn backend (cross-promotion eCPM also belongs to this type) "estimated": eCPM calculated by TopOn based on historical data after the automatic price function of the ad source is enabled in the TopOn dashboard "exact": eCPM of real-time bidding (except Meta ad platform) "ecpm_api": effective for Meta ad platform, historical eCPM API estimated based on Meta's ReportAPI data. Supported by TopOn SDK v5.9.60 and above.
network_type String kATADDelegateExtraNetworkTypeKey Get Network type "Network": third-party advertising platform "Cross_Promotion": cross promotion "Adx": not supported yet
network_placement_id String kATADDelegateExtraNetworkPlacementIDKey Get the Network ad slot ID
ecpm_level int kATADDelegateExtraECPMLevelKey Get the eCPM level of the ad source (corresponding to the priority of the developer backend aggregation management page). The default value of the header bidding ad source is 0
segment_id int kATADDelegateExtraSegmentIDKey Get the traffic group ID
scenario_id String kATADDelegateExtraScenarioIDKey Get the ad scene ID. Only supported by Rewarded Video & Interstitial
scenario_reward_name String kATADDelegateExtraScenarioRewardNameKey Get the reward name of the ad scene. Only supported by Rewarded Video
scenario_reward_number int kATADDelegateExtraScenarioRewardNumberKey Get the number of rewards for an ad scene. Only supported by Rewarded Video
channel String kATADDelegateExtraChannelKey Get channel information
sub_channel String kATADDelegateExtraSubChannelKey Get sub-channel information
custom_rule String kATADDelegateExtraCustomRuleKey Get the Json string of the custom rules of the Placement+App dimension
abtest_id String kATADDelegateExtraABTestIDKey Get the AB test ID (new in v6.1.30). The specific AB test ID can be found on the AB test page.
ext_info String kATADDelegateExtraExtInfoKey Get additional information of Topon Adx, OnlineAPI Offer, direct advertising, cross promotion & admob, and output it as a Json string
placement_type String kATADDelegateExtraPlacementTypeKey Get ad slot type 1: real ad slot 2: shared ad slot
shared_placement_id String kATADDelegateExtraSharedPlacementIdKey Get the shared ad slot ID. This is returned only when displaying the shared ad slot cache.
user_load_extra_data Dictionary kATADDelegateExtraUserCustomData Get the custom parameter information passed in before Load and output it in dictionary format

3. Admob display revenue

❗Special Instructions
The policy adjustment of Admob on July 17, 2025 affects the TopOn SDK running Admob Bidding ad units. The display revenue of Admob SDK cannot be returned when the ad is displayed. Please use publisher_revenue in the callback information dictionary to get the advertising revenue value.

Last modified: 2025-07-29Powered by