$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 AdCampaign
 */
use FacebookAds\Object\AdCampaign;
use FacebookAds\Object\Fields\AdCampaignFields;
use FacebookAds\Object\Values\AdObjectives;
$campaign = new AdCampaign(null, $account->id);
$campaign->setData(array(AdCampaignFields::NAME => 'My First Campaign', AdCampaignFields::OBJECTIVE => AdObjectives::WEBSITE_CLICKS, AdCampaignFields::STATUS => AdCampaign::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));
Ejemplo n.º 2
0
// _DOC close [ADCAMPAIGN_READ]
// _DOC open [ADCAMPAIGN_UPDATE]
// _DOC vars [campaign_group_id]
// use FacebookAds\Object\AdCampaign;
// use FacebookAds\Object\Fields\AdCampaignFields;
$campaign = new AdCampaign($campaign_group_id);
$campaign->{AdCampaignFields::NAME} = 'My new campaign name';
$campaign->update();
// _DOC close [ADCAMPAIGN_UPDATE]
// _DOC open [ADCAMPAIGN_VALIDATE]
// _DOC vars [campaign_group_id]
// use FacebookAds\Object\AdCampaign;
// use FacebookAds\Object\Fields\AdCampaignFields;
$campaign = new AdCampaign($campaign_group_id);
$campaign->{AdCampaignFields::NAME} = 'My new campaign name';
$campaign->validate();
$campaign->update();
// _DOC close [ADCAMPAIGN_VALIDATE]
// _DOC open [ADCAMPAIGN_GET_ADSETS]
// _DOC vars [campaign_group_id]
// use FacebookAds\Object\AdCampaign;
// use FacebookAds\Object\Fields\AdSetFields;
$campaign = new AdCampaign($campaign_group_id);
$adsets = $campaign->getAdSets(array(AdSetFields::NAME, AdSetFields::CAMPAIGN_STATUS));
// This will output the name of all fetched ad sets.
foreach ($adsets as $adset) {
    echo $adset->{AdSetFields::NAME} . PHP_EOL;
}
// _DOC close [ADCAMPAIGN_GET_ADSETS]
$label = new AdLabel(null, $ad_account_id);
$label->{AdLabelFields::NAME} = 'ADCAMPAIGN_ADD_LABELS';