前提:
- 优量汇 SDK版本 >= 4.15.70
- 塔酷 SDK 版本要求 >= v6.5.34
- AnyThinkMediationGDTAdapter 版本 > 4.15.70.0
......其他原生广告接入代码
ATNativeAdOffer *offer = [[ATAdManager sharedManager] getNativeAdOfferWithPlacementID:xxx showConfig:showConfig];
//#import <GDTMobSDK/GDTMobSDK.h>
//通过networkFirmID区分是哪个广告平台的广告,详见:https://help.takuad.com/docs/2KR6QU
if (offer.networkFirmID == 8) {
id<ATNativeMaterialProtocol> nativeAd = offer.nativeAd;
if (nativeAd && [nativeAd isKindOfClass:[ATCustomNetworkNativeAd class]]) {
ATCustomNetworkNativeAd *customAd = (ATCustomNetworkNativeAd *)nativeAd;
NSDictionary *mediaExt = nil;
if ([customAd respondsToSelector:@selector(mediaExt)]) {
mediaExt = customAd.mediaExt;
}
GDTUnifiedNativeAdDataObject *obj = nil;
if ([customAd respondsToSelector:NSSelectorFromString(@"dataObj")]) {
obj = [customAd valueForKey:@"dataObj"];
}
if (mediaExt != nil && obj != nil) {
//获取到广告平台返回的mediaExt和GDTUnifiedNativeAdDataObject信息后,按照优量汇的文档完成接入
}
}
}
......其他原生广告接入代码
注意:
- 行为激励参数必须在调用
loadAD前写入extra。rewardDelegate仅应为穿山甲原生广告设置。
在调用 loadAD 前,通过 extra 设置奖励金币数量和观看时长:
/// 穿山甲原生适配商城页激励透传参数:自行传入金币奖励和需要观看的时长
NSMutableDictionary *extra = [];
[extra setValue:@(999) forKey:kATTTNativeECRewardGoldKey];//传参类型:整型
[extra setValue:@(5) forKey:kATTTNativeECRewardDurationKey];//传参类型:整型
[[ATAdManager sharedManager] loadADWithPlacementID:self.currentPlacementIDInfoModel.placementIDString extra:extra delegate:self];
通过 networkFirmID 判断广告平台是否为穿山甲;当 nativeAd 为 ATTTNativeObject 时,设置 rewardDelegate:
......其他原生广告接入代码
ATNativeAdOffer *offer = [[ATAdManager sharedManager] getNativeAdOfferWithPlacementID:xxx showConfig:showConfig];
// 仅为穿山甲原生广告设置奖励回调代理
if (offer.networkFirmID == ATNetworkFirmIDTypeCSJ) {
if ([offer.nativeAd isKindOfClass:[ATTTNativeObject class]]) {
ATTTNativeObject *object = (ATTTNativeObject *)offer.nativeAd;
object.rewardDelegate = self;
}
}
......其他原生广告接入代码
控制器遵循 ATTTNativeRewardDelegate,并实现以下方法接收行为激励事件:
#pragma mark - ATTTNativeRewardDelegate
- (void)onEventCode:(BUNativeAdEventCode)code info:(NSDictionary *)info {
ATDemoLog(@"ATNativeViewController:: onEventCode:%ld info:%@", (long)code, info);
}
根据回调的 code 和 info,按业务需求处理奖励发放、日志记录或 UI 提示。