请遵循集成每种广告类型的说明。然后您可以按照以下方法获取广告填充时的价格:
广告加载成功后示例代码如下:
// 原生广告
SDMNative atNative = new SDMNative(context, "Your Placement Id", new SDMNativeListener() {
@Override
public void onAdLoaded(SDMNativeAd sdmNativeAd) {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (sdmNativeAd != null) {
double ecpm = sdmNativeAd.getSDMAd().getEcpmInfo().getEcpm(SDMAdConst.CURRENCY.RMB);
}
}
});
// Rewarded Video(激励视频广告)
SDMRewardVideoAd rewardVideoAd = new SDKRewardVideoAd(context, "Your Placement Id");
rewardVideoAd.setListener(new SDKRewardVideoListener() {
@Override
public void onAdLoaded() {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (rewardVideoAd != null) {
double ecpm = rewardVideoAd.getSDMAd().getEcpmInfo().getEcpm(SDMAdConst.CURRENCY.RMB);
}
}
});
// Interstitial(插屏广告)
SDMInterstitialAd interstitial = new SDMInterstitialAd(context, "Your Placement Id");
interstitial.setListener(new SDMInterstitialListener() {
@Override
public void onAdLoaded() {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (interstitial != null) {
double ecpm = interstitial.getSDMAd().getEcpmInfo().getEcpm(SDMAdConst.CURRENCY.RMB);
}
}
});
// App Open Ad(开屏广告)
SDMSplashAd splashAd = new SDMSplashAd(context, "Your Placement Id", new SDMSplashListener() {
@Override
public void onAdLoaded(boolean isTimeout) {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (splashAd != null) {
double ecpm = splashAd.getSDMAd().getEcpmInfo().getEcpm(SDMAdConst.CURRENCY.RMB);
}
}
});
// Banner Ad(横幅广告)
SDMBannerView bannerView = new SDMBannerView(context);
bannerView.setPlacementId("Your Placement Id");
bannerView.setListener(new SDMBannerListener() {
@Override
public void onAdLoaded() {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (bannerView != null) {
double ecpm = bannerView.getSDMAd().getEcpmInfo().getEcpm(SDMAdConst.CURRENCY.RMB);
}
}
});
如果 酷盈 比价胜出,您应该在展示广告之前将第二个出价者的最高价格传递给 酷盈。这一步将帮助我们优化收益。
注意:SECOND_PRICE传入的价格货币单位支持人民币元,人民币分,美元
//以激励视频为例,其他广告样式传入对应广告样式对象即可
public void sendAdxWin(SDMRewardVideoAd rewardVideoAd, double secondPrice) {
//RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (rewardVideoAd != null) {
rewardVideoAd.notifyWin(new SDMWinInfo(secondPrice,SDMAdConst.CURRENCY.RMB));
}
}
如果 酷盈 竞价失败,您应该在展示广告之前将最高价出价者的价格传递给 酷盈。这一步将帮助我们优化收益。
注意:winEcpm传入的价格货币单位支持人民币元,人民币分,美元。(自 6.5.77 以前 SDMLossInfo 无需传入 SEAT_ID)。
// 6.5.77 及以前
mRewardVideoAd.notifyLoss(new SDMLossInfo(SDMLossInfo.LOSS_REASON.LOSS_TO_AUCTION_FLOOR, winnerEcpm, SDMAdConst.CURRENCY.RMB));
// 6.5.80起
public void sendAdxLose(SDMRewardVideoAd rewardVideoAd, double winnerEcpm) {
// RMB 人民币元,RMB_CENT 人民币分,USD 美元
if (rewardVideoAd != null) {
rewardVideoAd.notifyLoss(new SDMLossInfo(
SDMLossInfo.LOSS_REASON.LOSS_TO_HIGHER_BID,
winnerEcpm,
SDMLossInfo.SEAT_ID.THIRD_PARTY_ADN, // 输给自售则改 SELF_SALE
SDMAdConst.CURRENCY.RMB));
// 如果该缓存在竞败后没有展示机会可以主动释放掉
// 例如激励,当不需要再使用该缓存时可以主动调用API释放掉该缓存
// if (rewardVideoAd != null) {
// rewardVideoAd.destroy();
// }
}
}
6.5.80 构造变化:
| <=6.5.77 | 6.5.80 |
|---|---|
new SDMLossInfo(reason, winPrice, currency) |
new SDMLossInfo(reason, winPrice, seatId, currency) |
SEAT_ID 枚举:THIRD_PARTY_ADN(第三方 ADN)/ SELF_SALE(自售广告主)
竞败原因:
| 代码 | 描述 | 版本 |
|---|---|---|
| SDMLossInfo.LOSS_REASON.LOSS_TO_HIGHER_BID | 酷盈 adx 出价低于价格较高的竞价广告源或者 Floor | 新旧皆可用 |
| SDMLossInfo.LOSS_REASON.LOSS_TO_NORMAL | 酷盈 的价格低于价格较高的固定价格广告源(非竞价广告) | 仅 <6.5.80 |
| SDMLossInfo.LOSS_REASON.LOSS_TO_AUCTION_FLOOR | 酷盈 的价格低于底价 | 仅 <6.5.80 |
| SDMLossInfo.LOSS_REASON.LOSS_TO_EXPIRE | 酷盈 的价格过期 | 仅 <6.5.80 |
| SDMLossInfo.LOSS_REASON.LOSS_TO_MEDIA_TIMEOUT | 媒体侧超时 | 仅 6.5.80+ |
| SDMLossInfo.LOSS_REASON.LOSS_TO_MEDIA_BLOCK | 媒体侧屏蔽(频控、物料体验、竞品等) | 仅 6.5.80+ |
| SDMLossInfo.LOSS_REASON.LOSS_TO_OTHER | 其他原因 | 仅 6.5.80+ |
onAdLoaded(或已确认缓存命中)之后调用。notifyWin / notifyLoss 只调一次;重复调用会被 SDK 忽略。notifyLoss 后 isAdReady() 为 false,不要再 show。