You can obtain the AdInfo parameter by setting a listener, which allows you to retrieve information about the current ad.
| Method | Description |
|---|---|
| int getNetworkFirmId() | Gets the ID corresponding to the network, used to distinguish between different networks. Refer to TopOn Supported Networks |
| String getNetworkName() | Gets the name of the network |
| String getNetworkPlacementId() | Gets the ad placement ID of the network |
| String getAdsourceId() | Gets the ad source ID |
| int getAdsourceIndex() | Gets the position of the current ad source in the WaterFall (starting from 0, 0 is the highest priority) |
| double getEcpm() | Gets TopOn's estimated eCPM. For regular ad sources, this is the price set in the TopOn console; for bidding ad sources, it is the real-time bidding price. The currency unit can be obtained via getCurrency(), usually CNY or USD, and the precision via getEcpmPrecision(). eCPM means: estimated earnings per thousand ad impressions. For example, if ad source A has an eCPM of 1, then each impression yields 0.001. |
| String getEcpmPrecision() | Gets the eCPM precision. "publisher_defined": eCPM defined by the developer in the TopOn console (cross-promotion eCPM also belongs to this type) "estimated": eCPM calculated by TopOn based on historical data when auto-pricing is enabled "exact": Real-time bidding eCPM (except Meta network) "ecpm_api": For Meta ad sources, estimated historical eCPM based on Meta's ReportAPI data |
| String getCurrency() | Gets the currency unit for TopOn earnings. Based on the returned currency, determine the price unit for eCPM or revenue, usually CNY or USD. For example: "USD" means the returned price is in US dollars, and both getEcpm() and getPublisherRevenue() return prices in USD. |
| int isHeaderBiddingAdsource() | Indicates whether the ad source is header bidding: 1: Yes, 0: No |
| String getShowId() | Gets a unique ID generated for each ad display |
| double getPublisherRevenue() | Gets the estimated revenue for displaying a TopOn ad placement. The currency unit can be obtained via getCurrency(), usually CNY or USD, and the precision via getEcpmPrecision() |
| String getCountry() | Gets the country code, e.g., "CN" |
| String getPlacementId() | Gets the TopOn ad placement ID |
| String getAdFormat() | Gets the ad format, including: "Native", "RewardedVideo", "Banner", "Interstitial", "Splash" |
| String getAdNetworkType() | Gets the Network type "Network": Third-party network "Cross_Promotion": Cross-promotion "Adx": TopOn Adx |
| int getEcpmLevel() | Gets the eCPM level of the ad source (corresponds to "Priority" in the developer console's aggregation management page). Header bidding ad sources default to 0. |
| int getSegmentId() | Gets the traffic segment ID |
| String getScenarioId() | Gets the ad scenario ID. Supported by Rewarded Video & Interstitial (also supported by Native & Banner) |
| String getScenarioRewardName() | Gets the reward name for the ad scenario (Rewarded Video only) |
| int getScenarioRewardNumber() | Gets the reward amount for the ad scenario (Rewarded Video only) |
| String getSubChannel() | Gets sub-channel information |
| String getChannel() | Gets channel information |
| String getCustomRule() | Gets the custom rule for Placement+App dimension as a JSON string |
| String getABTestId() | Gets the AB test ID. You can query specific AB test IDs from the AB test page |
| Map getExtInfoMap() | Gets custom ad information, applicable to Adx, OnlineAPI, direct ads, cross-promotion, and custom networks. For relevant keys, refer to NETWORK_CUSTOM_KEY |
| Map getLocalExtra() | Gets local parameters passed before loading the ad. For example, for interstitial ads, returns the parameters from setLocalExtra(Map map) |
| int getPlacementType() | Gets the placement type: 1 for real placement, 2 for shared placement |
| String getSharedPlacementId() | Gets the shared placement ID (returned only when displaying shared placement cache) |
| double getBidFloor() | Returns the bid floor configured for bidding ad sources in the TopOn console |
| int getDismissType() | Gets the dismiss type, supported by Rewarded Video, Interstitial, and Splash ads. For specific enum values, see ATAdConst.DISMISS_TYPE |
| int getAdSourceAdType() | Gets the ad type of the current ad source (supported since v6.2.90) 0: Native 1: Rewarded 2: Banner 3: Interstitial 4: Splash When a Rewarded Video placement uses a Rewarded Video ad source, returns 1; when using an Interstitial ad source, returns 3; when using a Splash ad source, returns 4. |
| String getAdSourceCustomExt() | Gets custom parameters configured for the ad source in the TopOn console (supported since v6.2.90) |
| String getShowCustomExt() | (v6.3.10+) Gets custom parameters passed during display, corresponding to parameters passed via setShowConfig() |
| String getEncEcpmInfo() | (v6.3.65+) Gets encrypted eCPM information |
| int getSecretId() | (v6.3.65+) Gets the private key ID for decrypting eCPM information. You can find the corresponding private key in TopOn Console - Account Management - Key |
| String toString() | Gets all callback information as a JSON string. All key values are as follows: "id": getShowId() "publisher_revenue": getPublisherRevenue() "currency": getCurrency() "country": getCountry() "adunit_id": getPlacementId() "adunit_format": getAdFormat() "precision": getEcpmPrecision() "network_type": getAdNetworkType() "network_placement_id": getNetworkPlacementId() "ecpm_level": getEcpmLevel() "segment_id": getSegmentId() "scenario_id": getScenarioId() "scenario_reward_name": getScenarioRewardName() "scenario_reward_number": getScenarioRewardNumber() "channel": getChannel() "sub_channel": getSubChannel() "custom_rule": getCustomRule() "network_firm_id": getNetworkFirmId() "adsource_id": getAdsourceId() "adsource_index": getAdsourceIndex() "adsource_price": getEcpm() "adsource_isheaderbidding": isHeaderBiddingAdsource() "abtest_id": getABTestId() "ext_info": getExtInfoMap() "reward_custom_data": AdConst.KEY.USER_CUSTOM_DATA "user_load_extra_data": getLocalExtra() "placement_type": getPlacementType() "shared_placement_id": getSharedPlacementId() "bid_floor": getBidFloor() "dismiss_type": getDismissType() "ad_source_type": getAdSourceAdType() "ad_source_custom_ext": getAdSourceCustomExt() |
| NETWORK_CUSTOM_KEY | Description |
|---|---|
| OFFER_ID | Adx, OnlineAPI, direct ads, cross-promotion Offer's ad ID |
| CREATIVE_ID | Adx, OnlineAPI, direct ads Offer's creative ID |
| IS_DEEPLINK_OFFER | Determines whether the Offer type for Adx, OnlineAPI, direct ads, cross-promotion is Deeplink or JumpURL. 0: No, 1: Yes |
❗ Special Note
Due to AdMob's policy adjustment effective July 17, 2025, TopOn SDK running AdMob Bidding ad units cannot return AdMob SDK's display revenue during ad display. Please useadInfo#getPublisherRevenue()andadInfo#getEcpm()to obtain the ad revenue value.