Menu

Callback information

1. Ad Event Callbacks

Callback info content description for ad listener events:

Variable Type Description
network_firm_id int Get the ID corresponding to the ad platform, used to distinguish ad platforms
adsource_id string Get the Ad Source ID. You can query specific Network information by Ad Source ID in the developer dashboard or via Taku Open API
adsource_index int Get the ranking of the current Ad Source in the WaterFall (starting from 0)
adsource_price double Get ECPM. The unit can be obtained via getCurrency()
adsource_isheaderbidding int Whether it is a header bidding ad source. 1: Yes, 2: No
id string Get the unique ID generated each time an ad is displayed
publisher_revenue double Get the impression revenue
currency string Get the currency unit, e.g. "USD"
country string Get the country code, e.g. "CN"
adunit_id string Get the Taku ad placement ID
adunit_format string Get the ad type, including: "Native", "RewardedVideo", "Banner", "Interstitial", "Splash"
precision string Get the ECPM precision "publisher_defined": The eCPM defined by the developer for the Ad Source in the Taku dashboard (cross-promotion eCPM also falls under this type) "estimated": Taku estimated eCPM (auto eCPM) "exact": Header Bidding real-time bidding eCPM (except for Meta ad platform) "ecpm_api": For Meta Ad Source, historical eCPM estimated based on Meta's ReportAPI data. Supported in Taku SDK v5.9.60 and above.
network_type string Get the Network type "Network": Third-party ad platform "Cross_Promotion": Cross-promotion "Adx": Taku Adx
network_placement_id string Get the Network's ad placement ID
ecpm_level int Get the eCPM level of the Ad Source. Header Bidding Ad Sources default to 0
segment_id int Get the traffic group ID
scenario_id string Get the ad scenario ID
scenario_reward_name string Get the reward name of the ad scenario. Only supported for Rewarded Video
scenario_reward_number int Get the reward amount of the ad scenario. Only supported for Rewarded Video
sub_channel string Get sub-channel information
channel string Get channel information
custom_rule Dictionary Get the JSON string of the custom rules at Placement+App level

2. Android Download Event Callback

Note: Currently only effective for Android Pangle

ATDownloadResponse property description:
DownloadStatus: Download status
placementID: placementID
extraMap: Callback info (see Ad Event Callback Content Description documentation)
totalBytes: Total file size (unit: bytes)
currBytes: Current downloaded size (unit: bytes)
fileName: File name
appName: App name corresponding to the file

java Copy
downLoadListen() {
    ATListenerManager.downloadEventHandler.listen((value) {
      switch (value.downloadStatus) {
         // Download started     
        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 update
        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;
        // Download paused  
        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 completed
        case DownloadStatus.downloadFinished:
          print("flutter downloadFinished ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, "
              "fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
          break;
        // Download failed  
        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;
        // APK installation completed  
        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;
      }
    });
  }
Previous
Privacy Compliance Guide
Next
FAQ and error codes
Last modified: 2026-07-01Powered by