广告类共有属性
简介
由于聚合广告的特殊性,只有在广告最终展示的时候才会知道展示广告的具体信息。SDK提供了接口供开发者在展示最优广告时获取这些广告的信息。
注意:所有广告广告类型从创建到结束过程中均需引用广告管理类,否则无法接收代理回调
三方ADN枚举
// 三方Adn枚举
typedef NS_ENUM (NSInteger, CloooudAdnType) {
CloooudAdnNoPermission = -3, // 无权限访问
CloooudAdnNoData = -2, // 暂时无真实数据,未获取到最佳广告,一般在未展示之前提前调用
CloooudAdnNone = 0, // 未知adn
CloooudAdnPangle = 1, // 穿山甲adn
CloooudAdnAdmob = 2, // 谷歌Admob
CloooudAdnGDT = 3, // 腾讯广点通adn
CloooudAdnMTG = 4, // Mintegral adn
CloooudAdnUnity = 5, // unity adn
CloooudAdnBaidu = 6, // 百度adn
CloooudAdnKs = 7, // 快手Adn
CloooudAdnSigmob = 8, // Sigmob adn
CloooudAdnKlevin = 9, // Klevin游可赢
};
接口说明(以开屏广告为例,其他广告类型同):
// 返回显示广告对应的披露信息,当没有权限访问时Ecpm会返回'-3'
- (CloooudRitInfo *)getShowEcpmInfo;
调用示例(以开屏广告为例):
注意:除原生广告外其他广告务必在收到展示回调Visible后访问可获取到正确信息
/**
This method is called when splash ad slot will be showing.
*/
- (void)splashAdWillVisible:(CloooudSplashAd *_Nonnull)splashAd {
CloooudD_LogCallback(@"%s", __func__);
CloooudRitInfo *info = [splashAd getShowEcpmInfo];
CloooudD_Log(@"ecpm:%@", info.ecpm);
CloooudD_Log(@"platform:%@", info.adnName);
CloooudD_Log(@"ritID:%@", info.slotID);
CloooudD_Log(@"requestID:%@", info.requestID ?: @"None");
CloooudD_Log(@"waterfallFillFailMessages:%@", [splashAd waterfallFillFailMessages]);
}
原生广告在收到加载回调load之后,即可访问这些属性:
# pragma mark ---<CloooudNativeAdsManagerDelegate>---
- (void)nativeAdsManagerSuccessToLoad:(CloooudNativeAdsManager *_Nonnull)adsManager nativeAds:(NSArray<CloooudNativeAdView *> *_Nullable)nativeAdViewArray {
CloooudD_Log(@"%s:%ld", __func__, nativeAdViewArray.count);
for (CloooudNativeAdView *model in nativeAdViewArray) {
NSUInteger index = rand() % (self.dataSource.count-3)+2;
model.rootViewController = self;
model.delegate = self;
CloooudRitInfo *info = [model getShowEcpmInfo];
CloooudD_Log(@"ecpm:%@", info.ecpm);
CloooudD_Log(@"platform:%@", info.adnName);
CloooudD_Log(@"ritID:%@", info.slotID);
CloooudD_Log(@"requestID:%@", info.requestID ?: @"None");
[self.dataSource insertObject:model atIndex:index];
}
[self.tableView reloadData];
}