public function tearDown() { if ($this->adLabel !== null) { $this->adLabel->delete(); $this->adLabel = null; } parent::tearDown(); }
$params = array('action_breakdowns' => InsightsActionBreakdowns::ACTION_VIDEO_TYPE, 'date_preset' => InsightsPresets::LAST_30_DAYS); $fields = array(InsightsFields::ACTIONS, InsightsFields::VIDEO_AVG_PCT_WATCHED_ACTIONS, InsightsFields::VIDEO_COMPLETE_WATCHED_ACTIONS); $stats = $account->getInsights($fields, $params); // _DOC close [ADACCOUNT_GET_INSIGHTS_VIDEO_VIEWS] $label_name = $label->{AdLabelFields::NAME}; // _DOC open [ADACCOUNT_GET_INSIGHTS_ADLABEL] // _DOC vars [ad_account_id:s, label_name:s] // use FacebookAds\Object\AdAccount; // use FacebookAds\Object\Fields\InsightsFields; // use FacebookAds\Object\Values\InsightsPresets; $account = new AdAccount($ad_account_id); $params = array('date_preset' => InsightsPresets::LAST_30_DAYS, 'filtering' => array(array('field' => 'adgroup.adlabels', 'operator' => 'ANY', 'value' => array($label_name)))); $fields = array(InsightsFields::CLICKS, InsightsFields::CPC, InsightsFields::TOTAL_ACTIONS); $stats = $account->getInsights($fields, $params); // _DOC close [ADACCOUNT_GET_INSIGHTS_ADLABEL] $label->delete(); unset($label); // _DOC open [ADACCOUNT_GET_TARGETING_DESCRIPTION] // _DOC vars [ad_account_id:s] // use FacebookAds\Object\AdAccount; // use FacebookAds\Object\Fields\TargetingSpecsFields; // use FacebookAds\Object\TargetingSpecs; $account = new AdAccount($ad_account_id); $targeting = new TargetingSpecs(); $targeting->setData(array(TargetingSpecsFields::GEO_LOCATIONS => array('countries' => array('US', 'JP')), TargetingSpecsFields::GENDERS => array(1), TargetingSpecsFields::AGE_MIN => 20, TargetingSpecsFields::AGE_MAX => 24)); $params = array('targeting_spec' => $targeting->exportData()); $targeting_description = $account->getTargetingDescription(array(), $params); // Output targeting description foreach ($targeting_description->targetingsentencelines as $description) { echo $description['content'] . PHP_EOL; foreach ($description['children'] as $child) {
/** * @param AdLabelAwareCrudObjectTrait|AbstractCrudObject $object */ public function assertCanBeLabeled(AbstractCrudObject $object) { $label = new AdLabel(null, $this->getConfig()->accountId); $label->{AdLabelFields::NAME} = $this->getConfig()->testRunId; $label->create(); /** @var AdLabelAwareCrudObjectTrait|AbstractCrudObject $mirror */ $mirror = $this->getEmptyClone($object); $mirror->addAdLabels(array($label->{AdLabelFields::ID})); $mirror = $this->getEmptyClone($object); $mirror->read(array('adlabels')); $this->assertCount(1, $mirror->{'adlabels'}); $mirror = $this->getEmptyClone($object); $mirror->removeAdLabels(array($label->{AdLabelFields::ID})); $mirror->read(array('adlabels')); $this->assertNull($mirror->{'adlabels'}); $label->delete(); }