菜单

高级设置

● 自定义过滤规则

💡Tips

  • TAKU SDK 版本要求:v6.4.60及以上
objectivec 复制代码
/**
 * 针对广告位添加自定义过滤规则
 * @param filter 过滤条件对象
 * @param placementID 广告位ID(多个广告位可共用一个过滤器)
 */
[[ATSDKGlobalSetting sharedManager] addFilter:(ATAdCustomFilter *)filter forPlacementID:(NSString *)placementID];
  • 请参考这里查询各广告平台ID
  • networkFirmIDsbiddingModesnetworkSlotIDsecpmItem 可根据实际需要自行组合成过滤规则(iOS 额外支持 adSourceIDs,按 Taku 广告源 ID 过滤)
objectivec 复制代码
// 针对广告位移除自定义过滤规则
[[ATSDKGlobalSetting sharedManager] removeFilterWithPlacementIDs:@[@"your placement id"]];

// 移除所有自定义过滤规则
[[ATSDKGlobalSetting sharedManager] removeAllFilters];

●示例1

过滤规则:需同时满足以下过滤条件:

  1. 平台限制
    • 目标平台ID:平台1、平台2
  2. 竞价类型限制
    • 过滤类型:竞价广告(C2S/S2S)、非竞价广告(NORMAL)(即同时排除实时竞价与非竞价广告类型)
  3. 广告平台的广告位限制
    • 目标平台的广告位ID:广告位1、广告位2
    • (对应广告平台的NetworkSlotID字段)
  4. 价格区间限制(⚠️若将价格范围写成 ≤10 且 ≥50 则判为无效范围
    • 货币单位:USD美元
    • 价格范围:≥10 且 ≤50
objectivec 复制代码
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

  1. 平台限制
    • 目标平台ID:平台1、平台2
  2. 竞价类型限制
    • 过滤类型:非竞价广告(NORMAL)
  3. 广告平台的广告位限制
    • 目标平台的广告位ID:广告位1、广告位2
    • (对应广告平台的NetworkSlotID字段)
  4. 价格区间限制
    • 货币单位:CNYCents人民币分
    • 价格范围:≤5000

条件2

  1. 平台限制
    • 目标平台ID:平台3
  2. 竞价类型限制
    • 过滤类型:竞价广告(C2S/S2S)
  3. 广告平台的广告位限制
    • 目标平台的广告位ID:广告位1(对应广告平台的NetworkSlotID字段)
  4. 价格区间限制
    • 货币单位:CNY人民币元
    • 价格范围:≥10
objectivec 复制代码
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"];
上一个
共享广告位参数设置
下一个
政策合规
最近修改: 2026-09-08Powered by