我爲自己創建了一個儀表板,幫助我跟蹤正在運行的Facebook廣告。如何檢索我所有活躍的Facebook廣告?
我已經無法搞清楚的是:
我怎樣才能檢索到的廣告ID數組有活動或可能很快就會被激活後,我的一部分不採取進一步行動的所有廣告?
換句話說,我想我已經設置爲有效,內Adsets並且是有效的廣告活動中存在的所有廣告(因此這些廣告是活現在)... 加上所有廣告從我的視角是活躍的,但Facebook已設置爲另一個狀態,如待審覈(並且很快會恢復爲活動狀態)。
我有一些代碼在下面,但問題是,它也意外地包括待審查的廣告,並經過Facebook批准 - 將不活躍(因爲我已經設置他們這樣) 。我不希望這種類型的廣告包含在我的報告中。
我的報告應該只顯示我積極花錢或有可能在FB批准後花錢的潛力。
我想我明白configured_status
和AbstractArchivableCrudObjectFields
effective_status
之間的差別,但我不知道這是足以幫助我,因爲我有很多設置爲活動是內Adsets是無效的廣告,而且我不我不想看到我的報告中列出的人。
有什麼建議嗎?
public function getActiveAdIds() {
$key = 'activeAdIds';
$adIdsJson = Cache::get($key);
if ($adIdsJson) {
$adIds = json_decode($adIdsJson);
} else {
$adsResponse = $this->getAdsByStatus([ArchivableCrudObjectEffectiveStatuses::ACTIVE, ArchivableCrudObjectEffectiveStatuses::PENDING_REVIEW]);
$ads = $adsResponse->data;
$adIds = [];
foreach ($ads as $ad) {
$adIds[] = $ad->id;
}
$adIdsJson = json_encode($adIds);
Cache::put($key, $adIdsJson, 1);
}
return $adIds;
}
public function getAdsByStatus($statuses) {
$params = [\FacebookAds\Object\Fields\AbstractArchivableCrudObjectFields::EFFECTIVE_STATUS => $statuses];
$adAccount = new AdAccount(self::ACT_PREPEND . $this->fbConfig['account_id']);
$cursor = $adAccount->getAds([], $params);
$response = $cursor->getResponse();
$jsonString = $response->getBody();
return json_decode($jsonString);
}
哇,StackOverflow正在走下坡路。我在這個問題上花了50分的名氣,到目前爲止,它的得分是-1,而沒有評論*就是爲什麼。我開始瞭解別人的問題,比如https://hackernoon.com/the-decline-of-stack-overflow-7cb69faa575d – Ryan