/** * Create campaign in Facebook * * @param array $data * @return FacebookAds\Object\Campaign */ public function createCampaign(array $data) { App::make('FacebookAdsAPI'); $campaign = new Campaign(null, $this->config['account_id']); $campaign->setData([CampaignFields::NAME => $data['name'], CampaignFields::OBJECTIVE => AdObjectives::LINK_CLICKS]); $campaign->validate()->create(); return $campaign; }
$account = (new AdAccount($account_id))->read(array(AdAccountFields::ID, AdAccountFields::NAME, AdAccountFields::ACCOUNT_STATUS)); echo "\nUsing this account: "; echo $account->id . "\n"; // Check the account is active if ($account->{AdAccountFields::ACCOUNT_STATUS} !== 1) { throw new \Exception('This account is not active'); } /** * Step 2 Create the Campaign */ use FacebookAds\Object\Campaign; use FacebookAds\Object\Fields\CampaignFields; use FacebookAds\Object\Values\AdObjectives; $campaign = new Campaign(null, $account->id); $campaign->setData(array(CampaignFields::NAME => 'My First Campaign', CampaignFields::OBJECTIVE => AdObjectives::LINK_CLICKS, CampaignFields::STATUS => Campaign::STATUS_PAUSED)); $campaign->validate()->create(); echo "Campaign ID:" . $campaign->id . "\n"; /** * Step 3 Search Targeting */ use FacebookAds\Object\TargetingSearch; use FacebookAds\Object\Search\TargetingSearchTypes; use FacebookAds\Object\TargetingSpecs; use FacebookAds\Object\Fields\TargetingSpecsFields; $results = TargetingSearch::search($type = TargetingSearchTypes::INTEREST, $class = null, $query = 'facebook'); // we'll take the top result for now $target = count($results) ? $results->current() : null; echo "Using target: " . $target->name . "\n"; $targeting = new TargetingSpecs(); $targeting->{TargetingSpecsFields::GEO_LOCATIONS} = array('countries' => array('GB')); $targeting->{TargetingSpecsFields::INTERESTS} = array(array('id' => $target->id, 'name' => $target->name));
/** * Creates a new Facebook campaign. */ public function createNewCampaign($campaignName) { $campaign = new Campaign(null, $this->accountId); $campaign->setData(array(CampaignFields::NAME => $campaignName, CampaignFields::OBJECTIVE => AdObjectives::LINK_CLICKS)); $campaign->validate()->create(array(Campaign::STATUS_PARAM_NAME => Campaign::STATUS_PAUSED)); }
$account = (new AdAccount($account_id))->read(array(AdAccountFields::ID, AdAccountFields::NAME, AdAccountFields::ACCOUNT_STATUS)); echo "\nUsing this account: "; echo $account->id . "\n"; // Check the account is active if ($account->{AdAccountFields::ACCOUNT_STATUS} !== 1) { throw new \Exception('This account is not active'); } /** * Step 2 Create the Campaign */ use FacebookAds\Object\Campaign; use FacebookAds\Object\Fields\CampaignFields; use FacebookAds\Object\Values\AdObjectives; $campaign = new Campaign(null, $account->id); $campaign->setData(array(CampaignFields::NAME => 'My First Campaign', CampaignFields::OBJECTIVE => AdObjectives::LINK_CLICKS)); $campaign->validate()->create(array(Campaign::STATUS_PARAM_NAME => Campaign::STATUS_PAUSED)); echo "Campaign ID:" . $campaign->id . "\n"; /** * Step 3 Search Targeting */ use FacebookAds\Object\TargetingSearch; use FacebookAds\Object\Search\TargetingSearchTypes; use FacebookAds\Object\TargetingSpecs; use FacebookAds\Object\Fields\TargetingSpecsFields; $results = TargetingSearch::search($type = TargetingSearchTypes::INTEREST, $class = null, $query = 'facebook'); // we'll take the top result for now $target = count($results) ? $results->current() : null; echo "Using target: " . $target->name . "\n"; $targeting = new TargetingSpecs(); $targeting->{TargetingSpecsFields::GEO_LOCATIONS} = array('countries' => array('GB')); $targeting->{TargetingSpecsFields::INTERESTS} = array(array('id' => $target->id, 'name' => $target->name));