The callbackInfo content description of the callback for advertising listening events: one, two, three
Variable | Type | Description |
---|---|---|
network_firm_id | int | Get the ID corresponding to the advertising platform, used to distinguish the advertising platform |
adsource_id | string | Get ad source ID. You can query specific Network information through the advertising source ID in the developer backend or TopOn Open API |
adsource_index | int | Get the current advertising source in Sorting in WaterFall(starting from 0) |
adsource_price | dounble | Get ECPM, the unit can pass getCurrency() Get |
adsource_isheaderbidding | int | Whether it is the advertising source for header bidding, 1: Yes, 2: No |
id | string | Get the unique ID generated each time an ad is displayed |
publisher_revenue | double | Get impression revenue |
currency | string | Get the currency unit, for example: "USD" |
country | string | Get the country code, for example: "CN" |
adunit_id | string | Get TopOn ad slot ID |
adunit_format | string | Get the ad type, including:"Native"、"RewardedVideo"、"Banner""Interstitial"、"Splash" |
precision | string | Get ECPM Accuracy "publisher_defined": eCPM defined by the developer for the advertising source in the TopOn backend (eCPM for interactive promotion also belongs to this type) " estimated": TopOn's estimated eCPM (auto eCPM) "exact": Header Bidding real-time bidding eCPM (except Meta advertising platform) "ecpm_api ": Effective for Meta advertising sources, historical eCPM API estimated based on Meta's ReportAPI data. TopOn SDK v5.9.60 and above are supported. |
network_type | string | Get Network type"Network": Third-party advertising platform "Cross_Promotion":Cross promotion "Adx":TopOn Adx |
network_placement_id | string | Get the Network's advertising slot ID |
ecpm_level | int | Get the eCPM level of the advertising source. The default value of the header bidding advertising source is 0 |
segment_id | int | Get the traffic group ID |
scenario_id | string | Get advertising scene ID |
scenario_reward_name | string | Get the incentive name of the advertising scene, only supported by Rewarded Video |
scenario_reward_number | int | Get the incentive number of the advertising scene, only supported by Rewarded Video |
sub_channel | string | Get sub-channel information |
channel | string | Get channel information |
custom_rule | Dictionary<string,object> | Get the Json string of the custom rule of Placement+App dimension |
TopOn platform The NETWORK FIRM ID corresponds to the Network name
Network Name | NETWORK FIRM ID |
---|---|
1 | |
Admob | 2 |
Inmobi | 3 |
Flurry | 4 |
Applovin | 5 |
Mintegral | 6 |
Mopub | 7 |
Tencent AD(GDT) | 8 |
Chartboost | 9 |
Tapjoy | 10 |
Ironsource | 11 |
UnityAds | 12 |
Vungle | 13 |
Adcolony | 14 |
TT (CSJ) | 15 |
Wanzhuanhulian | 16 |
Oneway | 17 |
Kingsoft Cloud | 19 |
Appnext | 21 |
Baidu | 22 |
Nend | 23 |
Maio | 24 |
StartApp | 25 |
Kuaishou | 28 |
Sigmob | 29 |
MyTarget | 32 |
Yandex | 34 |
Cross promotion ( MyOffer) | 35 |
Ogury | 36 |
Fyber | 37 |
Helium | 40 |
Kidoz | 45 |
A4G | 48 |
Pangle | 50 |
You Keying (Klevin) | 51 |
PubNative | 58 |
Bigo | 59 |
TopOn ADX | 66 |
JD mediation | 72 |
Note: Currently only valid for Android TT(CSJ)
ATDownloadResponse attribute introduction:
DownloadStatus: download status
placementID: placementID
extraMap: callback information (refer to the document Advertising Events Callback content description)
totalBytes: total file size (unit: bytes)
currBytes: currently downloaded size (unit: bytes)
fileName : File name
appName: The application name corresponding to the file
downLoadListen() {
ATListenerManager.downloadEventHandler.listen((value) {
switch (value.downloadStatus) {
// Start downloading
case DownloadStatus.downloadStart:
print("flutter downloadStart ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, currBytes: ${value.currBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
// Download progress updates
case DownloadStatus.downloadUpdate:
print("flutter downloadUpdate ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, currBytes: ${value.currBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
// Pause download
case DownloadStatus.downloadPause:
print("flutter downloadPause ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, currBytes: ${value.currBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
// Download complete
case DownloadStatus.downloadFinished:
print("flutter downloadFinished ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
// Download failure
case DownloadStatus.downloadFailed:
print("flutter downloadFailed ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, currBytes: ${value.currBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
// The Apk installation is complete
case DownloadStatus.downloadInstalled:
print("flutter downloadInstalled ---- placementID: ${value.placementID}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
case DownloadStatus.downloadUnknown:
print("flutter downloadUnknow");
break;
}
});
}