本文档介绍如何使用gdt-auto项目创建腾讯广告组(Adgroup)。
TencentAdsAdgroupService.java
public AdgroupsAddResponseData createAdgroup(String accountId, AdgroupsAddRequest request)
throws TencentAdsResponseException, TencentAdsSDKException, Exception {
log.info("开始创建广告,accountId={}, adgroupName={}", accountId, request.getAdgroupName());
// 获取TencentAds实例
TencentAds tencentAds = clientFactory.getTencentAds(accountId);
// 设置账户ID
request.setAccountId(Long.parseLong(accountId));
// 调用SDK创建广告
AdgroupsAddResponseData response = tencentAds.adgroups()
.adgroupsAdd(request);
log.info("创建广告成功,adgroupId={}", response.getAdgroupId());
return response;
}
TencentAdsAdgroupCreateTest.java
测试类实现了:
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| adgroup_name | String | 广告名称 | "测试ROI-0204" + 时间戳 |
| marketing_goal | MarketingGoal | 营销目标 | MARKETING_GOAL_USER_GROWTH |
| marketing_carrier_type | MarketingCarrierType | 营销载体类型 | MARKETING_CARRIER_TYPE_JUMP_PAGE |
| begin_date | String | 开始日期 | "2026-02-03" |
| end_date | String | 结束日期 | "2026-02-03" |
| optimization_goal | OptimizationGoal | 优化目标 | OPTIMIZATIONGOAL_APP_REGISTER |
| time_series | String | 投放时间段 | 336位字符串 |
| bid_amount | Long | 出价金额(分) | 100 |
| daily_budget | Long | 日预算(分) | 1000 |
| conversion_id | Long | 转化ID | 74719216 |
| bid_mode | BidMode | 出价模式 | BID_MODE_OCPM |
| auto_derived_creative_enabled | Boolean | 自动衍生创意 | false |
| bid_scene | BidScene | 出价场景 | BID_SCENE_UNKNOWN |
GeoLocations geoLocation = new GeoLocations();
List<String> locationTypes = new ArrayList<>();
locationTypes.add("LIVE_IN"); // 居住地
geoLocation.setLocationTypes(locationTypes);
List<Long> regions = new ArrayList<>();
regions.add(1156L); // 中国
geoLocation.setRegions(regions);
List<String> gender = new ArrayList<>();
gender.add("MALE"); // 男性
List<AgeStruct> age = new ArrayList<>();
AgeStruct ageRange = new AgeStruct();
ageRange.setMin(35L);
ageRange.setMax(66L);
age.add(ageRange);
ExcludedConvertedAudience excludedConverted = new ExcludedConvertedAudience();
excludedConverted.setExcludedDimension(ExcludedDimension.EXCLUDED_DIMENSION_GROUP);
List<String> conversionBehaviorList = new ArrayList<>();
conversionBehaviorList.add("OPTIMIZATIONGOAL_BRAND_CONVERSION");
conversionBehaviorList.add("OPTIMIZATIONGOAL_PAGE_SCAN_CODE");
excludedConverted.setConversionBehaviorList(conversionBehaviorList);
excludedConverted.setExcludedDay(ExcludedDay.EXCLUDED_DAY_ONE_MONTH);
List<Long> excludedCustomAudience = new ArrayList<>();
excludedCustomAudience.add(43712084L);
excludedCustomAudience.add(44107982L);
excludedCustomAudience.add(44106830L);
excludedCustomAudience.add(44241932L);
List<String> siteSet = new ArrayList<>();
siteSet.add("SITE_SET_SEARCH_SCENE"); // 搜索场景
siteSet.add("SITE_SET_MOBILE_UNION"); // 移动联盟
siteSet.add("SITE_SET_WECHAT"); // 微信
siteSet.add("SITE_SET_KANDIAN"); // 看点
siteSet.add("SITE_SET_QQ_MUSIC_GAME"); // QQ音乐游戏
siteSet.add("SITE_SET_TENCENT_NEWS"); // 腾讯新闻
siteSet.add("SITE_SET_TENCENT_VIDEO"); // 腾讯视频
在 src/main/resources/application-local.yml 中配置:
cd /Users/pudongliang/moka_workspace/gdt-auto
mvn test -Dtest=TencentAdsAdgroupCreateTest#testCreateAdgroupWithTestData
可以运行打印JSON的测试方法查看请求数据结构:
mvn test -Dtest=TencentAdsAdgroupCreateTest#printTestDataJson
A: 需要先进行OAuth授权,具体参考TencentAdsAuthService.java
A: 参考SDK中的AdgroupsAddRequest.class类,包含所有可用字段
A: 可以参考WriteTargetingSetting类,支持更多定向维度