private function createAdSet($campaignId) { $adset = new AdSet(null, 'act_' . $this->adAccountId); $adset->setData(array(AdSetFields::NAME => 'My Ad Set ' . date("Y-m-d H:i:s"), AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::REACH, AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS, AdSetFields::BID_AMOUNT => 20, AdSetFields::DAILY_BUDGET => 1000, AdSetFields::CAMPAIGN_ID => $campaignId, AdSetFields::TARGETING => (new TargetingSpecs())->setData(array(TargetingSpecsFields::GEO_LOCATIONS => array('countries' => array('US')))))); $adset->create(array(AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED)); return $adset->getData()[AdSet::FIELD_ID]; }
/** * @return array */ public function getAllAds() { $returnAds = []; $ads = $this->account->getAds(); foreach ($ads->getArrayCopy(true) as $ad) { $adData = $ad->getData(); $tmpAd = new AdSet($adData['id']); $tmpAd->read([AdFields::ID, AdFields::NAME, AdFields::CAMPAIGN_ID, AdFields::CREATED_TIME, AdFields::VIEW_TAGS, AdFields::SOCIAL_PREFS, AdFields::AD_REVIEW_FEEDBACK]); $returnAdsets[] = $tmpAd->getData(); } return $returnAds; }
$campaign->setData(array(AdCampaignFields::NAME => 'My First Campaign', AdCampaignFields::OBJECTIVE => AdObjectives::WEBSITE_CLICKS, AdCampaignFields::STATUS => AdCampaign::STATUS_PAUSED)); $campaign->create(); $campaign_group_id = $campaign->{AdCampaignFields::ID}; // _DOC open [ADSET_CREATE] // _DOC vars [campaign_group_id, ad_account_id:s] // use FacebookAds\Object\AdSet; // use FacebookAds\Object\TargetingSpecs; // use FacebookAds\Object\Fields\AdSetFields; // use FacebookAds\Object\Fields\TargetingSpecsFields; // use FacebookAds\Object\Values\BillingEvents; // use FacebookAds\Object\Values\OptimizationGoals; $adset = new AdSet(null, $ad_account_id); $adset->setData(array(AdSetFields::NAME => 'My Ad Set', AdSetFields::OPTIMIZATION_GOAL => OptimizationGoals::REACH, AdSetFields::BILLING_EVENT => BillingEvents::IMPRESSIONS, AdSetFields::BID_AMOUNT => 2, AdSetFields::CAMPAIGN_STATUS => AdSet::STATUS_ACTIVE, AdSetFields::DAILY_BUDGET => 1000, AdSetFields::CAMPAIGN_GROUP_ID => $campaign_group_id, AdSetFields::TARGETING => (new TargetingSpecs())->setData(array(TargetingSpecsFields::GEO_LOCATIONS => array('countries' => array('US')))))); $adset->create(); // _DOC close [ADSET_CREATE] $adset_data = $adset->getData(); unset($adset_data[AdSetFields::ID]); $ad_set_id = $adset->{AdSetFields::ID}; // _DOC open [ADSET_READ] // _DOC vars [ad_set_id:s] // use FacebookAds\Object\AdSet; // use FacebookAds\Object\Fields\AdSetFields; $adset = new AdSet($ad_set_id); $adset->read(array(AdSetFields::NAME, AdSetFields::CAMPAIGN_STATUS)); echo $adset->{AdSetFields::NAME} . PHP_EOL; echo $adset->{AdSetFields::CAMPAIGN_STATUS} . PHP_EOL; // _DOC close [ADSET_READ] // _DOC open [ADSET_READ_WITH_DATE_FORMAT] // _DOC vars [ad_set_id:s] // use FacebookAds\Object\AdSet; // use FacebookAds\Object\Fields\AdSetFields;