集成展现级收入数据
开始之前
确保已集成 OpenMediation SDK v2.1.0 或更高版本。
展现级收入数据
展现级收入数据作为 ImpressionData 对象的一部分返回。这是相关数据字段的列表,包括说明和类型。
Field Name | Datatype | Description |
---|---|---|
impression_id | String | 广告展现 id |
instance_id | String | 聚合系统内分配给 instance 的唯一 id |
instance_name | String | 在聚合前台设置的 instance 名称 |
instance_priority | Integer | Instance 在当前 mediation rule 下的优先级顺序 |
ad_network_name | String | Instance 所属的ad network的名称 |
ad_network_unit_id | String | Instance中填写的ad network的unit/placement/zone的id (Rewarded Video/Interstitial/Banner/Native/Splash/Cross Promote) |
mediation_rule_id | String | 聚合系统内分配给mediation rule的唯一id |
mediation_rule_name | String | mediation rule的名称 |
mediation_rule_type | String | mediation rule的优化类型,Manual(手动排序)或者Auto(自动排序) |
mediation_rule_priority | Integer | mediation rule在聚合前台的排序顺序 |
placement_id | String | 聚合系统内分配给广告位的唯一id |
placement_name | String | 广告位名称 |
placement_ad_type | String | 广告位类型: Banner/Native/Rewarded Video/Interstitial/Splash/CrossPromote |
scene_name | String | 场景名称,Banner/Native/Splash 则为空 |
currency | String | 货币单位,固定值,“USD” |
revenue | Double | 本次展现带来的收益 |
precision | String | 收益精度: undisclosed - 非公开数据,例如FAN要求不得存储收益数据 exact - 精准值,一般是in-app bidding类型的instance带来的收益 estimated - 预估值,由普通instance历史收益数据预估得出 |
ab_group | String | 平台使用了A / B测试 |
lifetime_value | Double | 当前用户生命周期内已经产生的广告收益 |
步骤 1. 添加Delegate
OpenMediation SDK目前提供了一个协议回调方法来通知用户有关所展现广告的数据信息。通过OpenMediation SDK来获取您的展现数据,您需要先添加下列代码到您的应用程序中,然后才能接收展现数据回调。
步骤 2. 获取展现数据
在代码中实现以下回调函数,来接受广告展现回调的相关数据。
- (void)omImpressionData:(OMImpressionData *)impressionData error:(NSError *)error{
if(!error){
NSLog(@"获取展现数据");
}
}
func omImpressionData(_ impressionData: OMImpressionData?, error: Error?){
if (error == nil) {
print("获取展现数据")
}
}
步骤 3. 移除Delegate
如果要从应用程序中移除ImpressionData监听,可以使用rmoveImpressionDataDelegate API来完成。
将数据发送到其他工具或供应商
收到展示数据后,您可以将其提供给内部商务智能(BI)工具,或将其发送给第三方归因和分析提供商以进行进一步分析。
示例
以下示例显示了如何将ILRD发送到 Google Analytics for Firebase。 您可以进行一些必要的更改,以便与第三方报告工具或您自己专有的优化工具和数据库集成。
- (void)omImpressionData:(OMImpressionData *)impressionData error:(NSError *)error{
if(!error){
[FIRAnalytics logEventWithName:kFIREventAdImpression
parameters:@{
kFIRParameterAdPlatform:@"OpenMediation",
kFIRParameterAdUnitName:impressionData.placementName,
kFIRParameterAdFormat:impressionData.placementAdType,
kFIRParameterValue:impressionData.revenue,
kFIRParameterCurrency:impressionData.currency,
kFIRParameterAdSource:impressionData.adNetworkName,
@"precision":impressionData.precision
}];
}
}
func omImpressionData(_ impressionData: OMImpressionData?, error: Error?){
if (error == nil) {
Analytics.logEvent(AnalyticsEventAdImpression, parameters: [
AnalyticsParameterAdPlatform: "OpenMediation",
AnalyticsParameterAdUnitName: impressionData!.placementName,
AnalyticsParameterAdFormat: impressionData!.placementAdType,
AnalyticsParameterValue: impressionData!.revenue,
AnalyticsParameterCurrency: impressionData!.currency,
AnalyticsParameterAdSource: impressionData!.adNetworkName,
"precision": impressionData!.precision
])
}
}
评论
文章评论已关闭。