广告监听事件的回调的callbackInfo内容说明:
变量 | 类型 | 说明 |
---|---|---|
network_firm_id | int | 获取 广告平台对应的ID,用于区分广告平台 |
adsource_id | string | 获取 广告源ID. 可在开发者后台或Taku Open API 通过广告源ID查询具体的Network信息 |
adsource_index | int | 获取 当前广告源在WaterFall中的排序(从0开始) |
adsource_price | double | 获取 ECPM,单位可通过getCurrency()获取 |
adsource_isheaderbidding | int | 是否为头部竞价的广告源,1:是,2:否 |
id | string | 获取 每次展示广告时生成的独立ID |
publisher_revenue | double | 获取 展示收益 |
currency | string | 获取 货币单位,例如:"USD" |
country | string | 获取 国家代码, 例如:”CN" |
adunit_id | string | 获取 Taku广告位ID |
adunit_format | string | 获取 广告类型,包括:"Native"、"RewardedVideo"、"Banner""Interstitial"、"Splash" |
precision | string | 获取 ECPM精度 "publisher_defined":开发者在Taku后台为广告源定义的eCPM(交互推广的eCPM也属于该类型) "estimated": Taku的预估eCPM(auto eCPM) "exact":Header Bidding实时竞价的eCPM(Meta广告平台除外) "ecpm_api": 针对Meta广告源生效,根据Meta的ReportAPI数据预估的历史eCPM API。 Taku SDK v5.9.60及以上版本支持。 |
network_type | string | 获取 Network类型 "Network":第三方广告平台 "Cross_Promotion":交互推广 "Adx":Taku Adx |
network_placement_id | string | 获取 Network的广告位ID |
ecpm_level | int | 获取 广告源的eCPM层级,头部竞价广告源默认为0 |
segment_id | int | 获取 流量分组ID |
scenario_id | string | 获取 广告场景ID |
scenario_reward_name | string | 获取 广告场景的激励名称,仅Rewarded Video支持 |
scenario_reward_number | int | 获取 广告场景的激励数量,仅Rewarded Video支持 |
sub_channel | string | 获取子渠道信息 |
channel | string | 获取渠道信息 |
custom_rule | Dictionary | 获取 Placement+App维度的自定义规则的Json字符串 |
注意:目前仅针对Android穿山甲有效
ATDownloadResponse属性介绍: DownloadStatus: 下载状态 placementID: placementID extraMap: 回调信息(参考文档 广告事件回调内容说明) totalBytes: 文件总大小(单位:字节) currBytes: 当前已下载的大小(单位:字节) fileName: 文件名称 appName: 文件对应的应用名称
downLoadListen() {
ATListenerManager.downloadEventHandler.listen((value) {
switch (value.downloadStatus) {
//开始下载
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;
//下载进度更新
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;
//暂停下载
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;
//下载完成
case DownloadStatus.downloadFinished:
print("flutter downloadFinished ---- placementID: ${value.placementID}, totalBytes: ${value.totalBytes}, "
"fileName: ${value.fileName}, appName: ${value.appName}, extra: ${value.extraMap}");
break;
//下载失败
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安装完成
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;
}
});
}