一次性创建推广计划-广告组-广告创意-广告
<?php
require_once __DIR__ . '/../../vendor/autoload.php'; // change path as needed
use TencentAds\TencentAds;
use TencentAds\Exception\TencentAdsResponseException;
use TencentAds\Exception\TencentAdsSDKException;
/*****
* 本文件提供了一个一次性创建Campaign、Adgroup、Adcreative、Ad的示例
*/
class RapidAddAds
{
public static $tads;
public static $ACCESS_TOKEN = 'YOUR ACCESS TOKEN';
public static $ACCOUNT_ID = 'YOUR ACCOUNT ID';
public static $CAMPAIGN_TYPE = 'CAMPAIGN_TYPE_NORMAL'; // 普通推广计划
public static $PROMOTED_OBJECT_TYPE = 'PROMOTED_OBJECT_TYPE_LINK'; // 推广普通外链
public static $DAILY_BUDGET = 5000; // 日预算50元(5000分)
public static $SITE_SET = 'SITE_SET_QZONE'; // 投放QQ空间流量
public static $BILLING_EVENT = 'BILLINGEVENT_IMPRESSION'; // 按曝光扣费(CPM)
public static $OPTIMIZATION_GOAL = 'OPTIMIZATIONGOAL_IMPRESSION'; // 广告目标优化类型:曝光
public static $BID_AMOUNT = 150; // 出价1.5元(150分)
public static $BEGIN_DATE = 'YOUR ADGROUP BEGIN DATE'; // 广告开始投放日期
public static $END_DATE = 'YOUR ADGROUP END DATE'; // 广告结束投放日期
public static $ADCREATIVE_TEMPLATE_ID = 968; // 文字链
public static $AD_TITLE = 'YOUR AD TEXT'; // 广告标题,968规格要求:字数:10~14
public static $AD_DESCRIPTION = 'YOUR AD DESCRIPTION'; // 广告文案,968规格要求:字数:24~30
public static $PAGE_TYPE = 'PAGE_TYPE_DEFAULT'; // 默认落地页类型
public static $PAGE_URL = 'YOUR AD PAGE URL'; // 广告落地页地址
public function init()
{
$tads = TencentAds::init([
'access_token' => static::$ACCESS_TOKEN,
'is_debug' => true,
]);
$tads->useSandbox(); // 默认访问沙箱环境,如访问正式环境,请切换为$tads->useProduction()
static::$tads = $tads;
return $tads;
}
public function main()
{
try {
/* @var TencentAds $tads */
$tads = static::$tads;
$campaignName = 'SDK计划' . uniqid();
$campaignRequest = [
'account_id' => static::$ACCOUNT_ID,
'campaign_name' => $campaignName,
'campaign_type' => static::$CAMPAIGN_TYPE,
'promoted_object_type' => static::$PROMOTED_OBJECT_TYPE,
'daily_budget' => static::$DAILY_BUDGET,
];
$adgroupName = 'SDK广告组' . uniqid();
$timeSeries = str_repeat('1', 48 * 7); // 全天投放
$targeting = [
'user_os' => ['IOS'], // 定向IOS用户
];
$adgroupRequest = [
'account_id' => static::$ACCOUNT_ID,
'adgroup_name' => $adgroupName,
'promoted_object_type' => static::$PROMOTED_OBJECT_TYPE,
'begin_date' => static::$BEGIN_DATE,
'end_date' => static::$END_DATE,
'billing_event' => static::$BILLING_EVENT,
'bid_amount' => static::$BID_AMOUNT,
'optimization_goal' => static::$OPTIMIZATION_GOAL,
'time_series' => $timeSeries,
'site_set' => [static::$SITE_SET],
'targeting' => $targeting,
];
$adcreativeName = 'SDK广告创意' . uniqid();
$adcreativeElements = [
'title' => static::$AD_TITLE,
'description' => static::$AD_DESCRIPTION,
];
$pageSpec = [
'page_url' => static::$PAGE_URL,
];
$adcreativeRequest = [
'account_id' => static::$ACCOUNT_ID,
'adcreative_name' => $adcreativeName,
'adcreative_template_id' => static::$ADCREATIVE_TEMPLATE_ID,
'adcreative_elements' => $adcreativeElements,
'promoted_object_type' => static::$PROMOTED_OBJECT_TYPE,
'page_type' => static::$PAGE_TYPE,
'site_set' => [static::$SITE_SET],
'page_spec' => $pageSpec,
];
$adName = 'SDK广告' . uniqid();
$adRequest = [
'account_id' => static::$ACCOUNT_ID,
'ad_name' => $adName,
];
$response = $tads->rapidAddAds($campaignRequest, $adgroupRequest, $adcreativeRequest, $adRequest);
//echo $response->getAdId();
return $response;
} catch (TencentAdsResponseException $e) {
// When Api returns an error
echo 'Tencent ads returned an error: ' . $e->getMessage() . PHP_EOL;
throw $e;
} catch (TencentAdsSDKException $e) {
// When validation fails or other local issues
echo 'Tencent ads SDK returned an error: ' . $e->getMessage() . PHP_EOL;
throw $e;
} catch (Exception $e) {
echo 'Other exception: ' . $e->getMessage() . PHP_EOL;
throw $e;
}
}
}
if (basename($_SERVER['PHP_SELF']) == basename(__FILE__)) {
try {
$example = new RapidAddAds();
$example->init();
$example->main();
} catch (\Exception $e) {
exit(-1);
}
}
package com.tencent.ads.examples.AdvancedOperations;
import com.tencent.ads.ApiContextConfig;
import com.tencent.ads.TencentAds;
import com.tencent.ads.model.*;
import com.tencent.ads.tools.RapidAdsContainer;
import com.tencent.ads.tools.RapidAdsContainer.RapidAddAdsRequestData;
import java.util.Arrays;
public class RapidAddAds {
public String ACCESS_TOKEN = "YOUR ACCESS TOKEN";
/** TencentAds */
public TencentAds tencentAds;
public CampaignsAddRequest campaignsAddRequest = new CampaignsAddRequest();
public AdgroupsAddRequest adgroupsAddRequest = new AdgroupsAddRequest();
public AdcreativesAddRequest adcreativesAddRequest = new AdcreativesAddRequest();
public AdsAddRequest adsAddRequest = new AdsAddRequest();
public RapidAddAdsRequestData rapidAddAdsRequestData =
new RapidAddAdsRequestData(
campaignsAddRequest, adgroupsAddRequest, adcreativesAddRequest, adsAddRequest);
public void init() {
this.tencentAds = TencentAds.getInstance();
this.tencentAds.init(
new ApiContextConfig().accessToken(ACCESS_TOKEN).isDebug(true)); // debug==true 会打印请求详细信息
this.tencentAds.useSandbox(); // 默认使用沙箱环境,如果要请求线上,这里需要设为线上环境
this.buildParams();
}
public void buildParams() {
campaignsAddRequest.setCampaignName("SDK计划ede5fdcfffb0aaffg1a17adf1c2");
campaignsAddRequest.setAccountId(null);
campaignsAddRequest.setCampaignType(CampaignType.NORMAL);
campaignsAddRequest.setPromotedObjectType(PromotedObjectType.LINK);
campaignsAddRequest.setDailyBudget(5000L);
adgroupsAddRequest.setEndDate("YOUR ADGROUP END DATE");
adgroupsAddRequest.setOptimizationGoal(OptimizationGoal.IMPRESSION);
adgroupsAddRequest.setTargeting(
new WriteTargetingSettingForAdgroup().userOs(Arrays.asList("IOS")));
;
adgroupsAddRequest.setBidAmount(150L);
adgroupsAddRequest.setBillingEvent(BillingEvent.IMPRESSION);
adgroupsAddRequest.setTimeSeries(
"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
adgroupsAddRequest.setPromotedObjectType(PromotedObjectType.LINK);
adgroupsAddRequest.setBeginDate("YOUR ADGROUP BEGIN DATE");
adgroupsAddRequest.setSiteSet(Arrays.asList("SITE_SET_QZONE"));
adgroupsAddRequest.setAdgroupName("SDK广告组ede525afcf5fgfdcfb0aa1ajf1a1c2");
// adcreative
adcreativesAddRequest.setAdcreativeTemplateId(968L);
adcreativesAddRequest.setAdcreativeElements(
new AdcreativeCreativeElementsMp()
.title("YOUR AD TEXT")
.description("YOUR AD DESCRIPTION"));
adcreativesAddRequest.setPageType(DestinationType.DEFAULT);
adcreativesAddRequest.setPageSpec(new PageSpec().pageUrl("YOUR AD PAGE URL"));
adcreativesAddRequest.setPromotedObjectType(PromotedObjectType.LINK);
adcreativesAddRequest.setAdcreativeName("SDK广告创意ede525afcf5jhgdcb0gaa1a1a1c2");
adcreativesAddRequest.setSiteSet(Arrays.asList("SITE_SET_QZONE"));
// ad
adsAddRequest.setAdName("SDK广告5ede2529196c5");
}
public RapidAdsContainer.RapidAddAdsResponseData rapidAddAds() {
return tencentAds.rapidAds().rapidAddAds(rapidAddAdsRequestData);
}
}