我正在尝试使用定位规范创建 adset
并将 saved_audience
id指定为定位规范 . 我查看了定位规范的API文档:https://developers.facebook.com/docs/marketing-api/targeting-specs/v2.8
它谈到 custom_audience
但不是 saved_audience
. 我试图将它作为参数 saved_audience
, saved_audiences
等发送,以为可能没有记录 . API响应是 invalid parameter
.
这是代码:
$set->setData(array(
AdSetFields::NAME => $obj_page->title.' '.time(),
AdSetFields::CAMPAIGN_ID => $campaign_id,
AdSetFields::DAILY_BUDGET => $daily_budget,
AdSetFields::BID_AMOUNT => $daily_budget,
AdSetFields::START_TIME => (new \DateTime($request->start_time))->format(\DateTime::ISO8601),
AdSetFields::END_TIME => (new \DateTime($request->end_time))->format(\DateTime::ISO8601),
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
AdSetFields::TARGETING => (new Targeting())->setData(array(
'custom_audiences' => array($audience_id), // works
TargetingFields::PUBLISHER_PLATFORMS => array('facebook'),
TargetingFields::DEVICE_PLATFORMS => array('desktop'),
))
));
使用 'saved_audience' => array($audience_id)
不起作用 .
2 回答
无法在定位规范中指定saved_audiences . 有关所有可能字段的更多信息,请参阅SDK .
https://github.com/facebook/facebook-java-ads-sdk/blob/master/src/main/java/com/facebook/ads/sdk/Targeting.java
我一直在处理同样的问题(check my Stackoverflow question),我的结论是现在不可能 . 解决方法是在单独的API调用中从
saved audience
检索targeting
规范,并将这些设置复制到您正在创建的新广告中 . 缺点是,在更新saved audience
时,您的广告将不会更新 .