2016-05-18 57 views
1

我正嘗試使用營銷API(Facebook Ads SDK 2.5)爲網絡流量創建自定義受衆羣體。爲網站流量創建Facebook自定義觀衆

這就是我試過的。

$audience = new CustomAudience(null, 'act_'.$account_id); 
$aud_data = array(
    CustomAudienceFields::NAME => $name, 
    CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::CUSTOM, 
    CustomAudienceFields::RULE => array('event' => array('i_contains' => 'ViewContent','i_contains' => $name)), 
    CustomAudienceFields::PIXEL_ID => $pixelId, 
    CustomAUdienceFields::DESCRIPTION => '', 
    CustomAudienceFields::RETENTION_DAYS => 180, 
    CustomAudienceFields::PREFILL => True 
); 

我得到一個成功的消息&我可以看到廣告管理系統的聽衆。但問題是,當我嘗試編輯這些觀衆時,我收到了這個錯誤。

Can't Edit Audience 
This audience can't be edited because it was created using settings that are no longer available. You can still use this audience for your ads. To make changes or updates, create a new audience. 

我在做什麼錯?

+0

你想要在廣告管理器中編輯觀衆或通過api?如果通過API,然後顯示您使用的代碼。 – noelnoegdip

回答

0

如果有人有同樣的問題,這裏的答案。

CustomAudienceFields::RULE應該是一個JSON字符串不是一個數組(至少,這是爲我工作。)

因此,將其組合在一起..

$audience = new CustomAudience(null, 'act_'.$account_id); 
$aud_data = array(
    CustomAudienceFields::NAME => $name, 
    CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::CUSTOM, 
    CustomAudienceFields::RULE => '{"and": [{"event": {"i_contains": "ViewContent"}},{"content_name": {"i_contains": "'.$name.'"}}]}', 
    CustomAudienceFields::PIXEL_ID => $pixelId, 
    CustomAUdienceFields::DESCRIPTION => '', 
    CustomAudienceFields::RETENTION_DAYS => 180, 
    CustomAudienceFields::PREFILL => True 
); 

這應該工作。

相關問題