💡Tips
- TAKU SDK 版本要求:v6.4.60及以上
objectivec 复制代码/** * 针对广告位添加自定义过滤规则 * @param filter 过滤条件对象 * @param placementID 广告位ID(多个广告位可共用一个过滤器) */ [[ATSDKGlobalSetting sharedManager] addFilter:(ATAdCustomFilter *)filter forPlacementID:(NSString *)placementID];
- 请参考这里查询各广告平台ID
networkFirmIDs、biddingModes、networkSlotIDs、ecpmItem可根据实际需要自行组合成过滤规则(iOS 额外支持adSourceIDs,按 Taku 广告源 ID 过滤)objectivec 复制代码// 针对广告位移除自定义过滤规则 [[ATSDKGlobalSetting sharedManager] removeFilterWithPlacementIDs:@[@"your placement id"]]; // 移除所有自定义过滤规则 [[ATSDKGlobalSetting sharedManager] removeAllFilters];
●示例1
过滤规则:需同时满足以下过滤条件:
- 平台限制
- 目标平台ID:平台1、平台2
- 竞价类型限制
- 过滤类型:竞价广告(C2S/S2S)、非竞价广告(NORMAL)(即同时排除实时竞价与非竞价广告类型)
- 广告平台的广告位限制
- 目标平台的广告位ID:广告位1、广告位2
- (对应广告平台的NetworkSlotID字段)
- 价格区间限制(⚠️若将价格范围写成 ≤10 且 ≥50 则判为无效范围)
- 货币单位:USD美元
- 价格范围:≥10 且 ≤50
ATAdCustomFilter *filter = [[ATAdCustomFilter alloc] init];
filter
.networkFirmIDs(@[@(1), @(2)]) // 过滤掉指定平台id:平台1、平台2
.biddingModes(@[@(ATAdCustomFilterBiddingModeNormal), @(ATAdCustomFilterBiddingModeS2S), @(ATAdCustomFilterBiddingModeC2S)]) // 过滤掉竞价和非竞价类型
.networkSlotIDs(@[@"广告平台的广告位1", @"广告平台的广告位2"]) // 过滤掉广告平台的广告位id
.ecpmItem([[ATAdCustomFilterEcpmItem alloc] initWithMoreThenPrice:@"10" // 大于等于10
lessThenPrice:@"50" // 小于等于50
currency:ATBiddingCurrencyTypeUS]); // 选择货币单位(美元),过滤掉的价格范围为 [10, 50]
[[ATSDKGlobalSetting sharedManager] addFilter:filter forPlacementID:@"your placement id"];
●示例2
过滤规则:满足条件1 or 条件2即可 (💡各条件之间用
.orFilter()连接)条件1
- 平台限制
- 目标平台ID:平台1、平台2
- 竞价类型限制
- 过滤类型:非竞价广告(NORMAL)
- 广告平台的广告位限制
- 目标平台的广告位ID:广告位1、广告位2
- (对应广告平台的NetworkSlotID字段)
- 价格区间限制
- 货币单位:CNYCents人民币分
- 价格范围:≤5000
条件2
- 平台限制
- 目标平台ID:平台3
- 竞价类型限制
- 过滤类型:竞价广告(C2S/S2S)
- 广告平台的广告位限制
- 目标平台的广告位ID:广告位1(对应广告平台的NetworkSlotID字段)
- 价格区间限制
- 货币单位:CNY人民币元
- 价格范围:≥10
ATAdCustomFilter *filter = [[ATAdCustomFilter alloc] init];
filter
// 条件1
.networkFirmIDs(@[@(1), @(2)]) // 过滤掉指定平台id:平台1、平台2
.biddingModes(@[@(ATAdCustomFilterBiddingModeNormal)]) // 过滤掉非竞价类型
.networkSlotIDs(@[@"广告平台的广告位1", @"广告平台的广告位2"]) // 过滤掉广告平台的广告位id
.ecpmItem([[ATAdCustomFilterEcpmItem alloc] initWithMoreThenPrice:nil
lessThenPrice:@"5000" // 小于等于5000
currency:ATBiddingCurrencyTypeCNYCents]) // 选择货币单位(人民币分)
.orFilter()
// 条件2
.networkFirmIDs(@[@(3)]) // 过滤掉指定平台id:平台3
.biddingModes(@[@(ATAdCustomFilterBiddingModeS2S), @(ATAdCustomFilterBiddingModeC2S)]) // 过滤掉竞价类型
.networkSlotIDs(@[@"广告平台的广告位1"]) // 过滤掉广告平台的广告位id
.ecpmItem([[ATAdCustomFilterEcpmItem alloc] initWithMoreThenPrice:@"10" // 大于等于10
lessThenPrice:nil
currency:ATBiddingCurrencyTypeCNY]); // 选择货币单位(人民币元)
[[ATSDKGlobalSetting sharedManager] addFilter:filter forPlacementID:@"your placement id"];