请遵循集成每种广告类型的说明。然后您可以按照以下方法获取广告填充时的价格:
广告加载成功后示例代码如下:
// 原生广告
- (void)onAdLoaded:(SDMNativeAd *)nativeAd {
SDMAd *ad = [nativeAd getSDMAd];
// SDMAdCurrencyTypeCNY 人民币元,SDMAdCurrencyTypeCNYCents 人民币分,SDMAdCurrencyTypeUSD 美元
double ecpm = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeCNY];
double ecpmUSD = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeUSD];
}
// Rewarded Video(激励视频广告)
#pragma mark - SDMPublicLoadingDelegate
- (void)onAdLoaded:(SDMBaseAd *)item {
SDMAd *ad = [item getSDMAd];
// SDMAdCurrencyTypeCNY 人民币元,SDMAdCurrencyTypeCNYCents 人民币分,SDMAdCurrencyTypeUSD 美元
double ecpm = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeCNY];
double ecpmUSD = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeUSD];
}
// Interstitial(插屏广告)
#pragma mark - SDMPublicLoadingDelegate
- (void)onAdLoaded:(SDMBaseAd *)item {
SDMAd *ad = [item getSDMAd];
// SDMAdCurrencyTypeCNY 人民币元,SDMAdCurrencyTypeCNYCents 人民币分,SDMAdCurrencyTypeUSD 美元
double ecpm = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeCNY];
double ecpmUSD = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeUSD];
}
// App Open Ad(开屏广告)
#pragma mark - SDMPublicLoadingDelegate
- (void)onAdLoaded:(SDMBaseAd *)item {
SDMAd *ad = [item getSDMAd];
// SDMAdCurrencyTypeCNY 人民币元,SDMAdCurrencyTypeCNYCents 人民币分,SDMAdCurrencyTypeUSD 美元
double ecpm = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeCNY];
double ecpmUSD = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeUSD];
}
// Banner Ad(横幅广告)
#pragma mark - SDMBannerViewDelegate
- (void)onAdLoaded:(SDMBannerView *)bannerView {
SDMAd *ad = [bannerView getSDMAd];
// SDMAdCurrencyTypeCNY 人民币元,SDMAdCurrencyTypeCNYCents 人民币分,SDMAdCurrencyTypeUSD 美元
double ecpm = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeCNY];
double ecpmUSD = [ad.ecpmInfo currentEcpm:SDMAdCurrencyTypeUSD];
}
如果 酷盈 比价胜出,您应该在展示广告之前将第二个出价者的最高价格传递给 酷盈。这一步将帮助我们优化收益。
注意:secondPrice传入的价格货币单位支持人民币元,人民币分,美元
//以激励视频为例,其他广告样式传入对应广告样式对象即可
- (void)sendWin:(SDMBaseAd *)ad {
if (!SDMMultipleDemoSendWin) {
return;
}
SDMWinInfo *winInfo = [[SDMWinInfo alloc] init];
winInfo.secondPrice = kSDMDemoBidPrice;
winInfo.currencyType = SDMAdCurrencyTypeCNY;
winInfo.extraInfo = ......
winInfo.networkName = ......
//发起竞胜
[ad notifyWin:winInfo];
}
如果 酷盈 竞价失败,您应该在展示广告之前将最高价出价者的价格传递给 酷盈。这一步将帮助我们优化收益。
注意:winPrice传入的价格货币单位支持人民币元,人民币分,美元
// 6.5.79 及以前
- (void)sendLoss:(SDMBaseAd *)ad reason:(SDMLossReason)reason {
SDMLossInfo *lossInfo = [[SDMLossInfo alloc] init];
lossInfo.winPrice = ......
lossInfo.networkName = ......
lossInfo.extraInfo = ......
lossInfo.currencyType = SDMAdCurrencyTypeCNY;
lossInfo.reason = reason; // 如 SDMLossToHigherBid
[ad notifyLoss:lossInfo];
}
// 6.5.80 起(方法签名不变,价格型竞败须额外设置 seatId)
- (void)sendLoss:(SDMBaseAd *)ad reason:(SDMLossReason)reason {
SDMLossInfo *lossInfo = [[SDMLossInfo alloc] init];
lossInfo.winPrice = ...... // 价格型竞败须 > 0
lossInfo.networkName = ......
lossInfo.extraInfo = ......
lossInfo.currencyType = SDMAdCurrencyTypeCNY;
lossInfo.reason = reason; // 如 SDMLossReasonPriceLow
lossInfo.seatId = SDMAuctionSeatIDThirdPartyADN;
[ad notifyLoss:lossInfo];
}
6.5.80 变化:
| 版本 | 参数列表 |
|---|---|
| 6.5.79- | reason、winPrice、currencyType、networkName(可选)、extraInfo(可选) |
| 6.5.80+ | reason、winPrice、currencyType、seatId(reason=SDMLossReasonPriceLow 时必填;Timeout / Blocked / Other 不要求)、networkName(可选)、extraInfo(可选) |
SDMAuctionSeatID:SDMAuctionSeatIDThirdPartyADN(第三方 ADN)/ SDMAuctionSeatIDSelfSaleAdvertiser(自售广告主)
| 版本 | 代码 | 描述 |
|---|---|---|
| 6.5.80+ | SDMLossReasonPriceLow | 酷盈 adx 出价低于价格较高的竞价广告源或者 Floor |
| 6.5.80+ | SDMLossReasonMediaTimeout | 媒体侧超时 |
| 6.5.80+ | SDMLossReasonMediaBlocked | 媒体侧屏蔽(频控、物料体验、竞品等) |
| 6.5.80+ | SDMLossReasonOther | 其他原因 |
| 6.5.79- | SDMLossToHigherBid | 酷盈 adx 出价低于价格较高的竞价广告源 |
| 6.5.79- | SDMLossToNormal | 酷盈 的价格低于价格较高的固定价格广告源(非竞价广告) |
| 6.5.79- | SDMLossToAuctionFloor | 酷盈 的价格低于底价 |
| 6.5.79- | SDMLossToExpire | 酷盈 的价格过期 |
| 属性名称 | 类型 | 说明 | 示例值 |
|---|---|---|---|
reason |
SDMLossReason |
竞价失败原因。这是一个枚举类型SDMLossReason,定义了广告请求失去竞价的具体原因 | SDMLossReasonPriceLow |
winPrice |
double |
获胜竞价的价格。指赢得本次广告展示机会的实际出价 | 0.58 |
seatId |
SDMAuctionSeatID |
竞胜席位(6.5.80+)。价格型竞败须传有效值 | SDMAuctionSeatIDThirdPartyADN |
networkName |
NSString * |
获胜广告网络的名称。指赢得本次竞价的广告平台或中介(Mediation Network)的标识符。 | @"GDT" |
extraInfo |
NSDictionary * |
附加信息/扩展信息。用于存储与本次竞价失败相关的其他非标数据,如特定的错误代码、调试信息等。 | @{"errorCode": 1001, "adUnitId": "ca-app-pub-..."} |
currencyType |
SDMAdCurrencyType |
价格的货币类型。指示 winPrice 属性所使用的货币单位。这是一个枚举类型。 |
SDMAdCurrencyTypeUSD |
| 代码 | 描述 |
|---|---|
| SDMAdCurrencyTypeUSD | 美元 |
| SDMAdCurrencyTypeCNY | 人民币元 |
| SDMAdCurrencyTypeCNYCents | 人民币分 |
| 属性名称 | 类型 | 读写权限 | 说明 |
|---|---|---|---|
ecpmInfo |
SDMAdEcpmInfo * |
readonly |
广告的 eCPM 和收入信息。包含计算出的预期千次展示收入(eCPM)数据。 |
placementInfo |
SDMAdPlaceInfo * |
readonly |
广告的展示位置信息。包含广告位 ID、请求 ID 和广告格式等元数据。 |
extraInfo |
NSDictionary * |
readonly |
附加信息/扩展信息。用于存储与该广告实例相关的其他非标数据,如竞价获胜方名称等。 |
| 方法名称 | 返回类型 | 说明 | 货币类型参数 |
|---|---|---|---|
currentEcpm: |
double |
获取当前 eCPM 值。返回双精度浮点数表示的 eCPM。 | (SDMAdCurrencyType)type |
currentRevenueEcpm: |
double |
获取当前实际收入值。返回双精度浮点数表示的实际收入。 | (SDMAdCurrencyType)type |
| 属性名称 | 类型 | 读写权限 | 说明 |
|---|---|---|---|
placementId |
NSString * |
readonly |
广告位 ID。开发者在广告平台配置的唯一标识符。 |
requestId |
NSString * |
readonly |
广告请求 ID。本次广告请求的唯一标识,用于调试和日志追踪。 |
format |
SDMAdFormat |
readonly |
广告格式。指示本次请求的广告类型(如横幅、激励视频等)。 |
| 枚举值 | 原始值 (NSInteger) |
说明 |
|---|---|---|
SDMAdFormatNative |
0 |
原生广告(Native Ad) |
SDMAdFormatRewardedVideo |
1 |
激励视频广告(Rewarded Video Ad) |
SDMAdFormatBanner |
2 |
横幅广告(Banner Ad) |
SDMAdFormatInterstitial |
3 |
插页式广告(Interstitial Ad) |
SDMAdFormatSplash |
4 |
开屏广告(Splash Ad) |