/** * @depends testCustomAudiences */ public function testAppIdsPayload() { $ca = new CustomAudience(null, $this->getActId()); $ca->{CustomAudienceFields::NAME} = $this->getTestRunId(); $ca->create(); $users = array($this->getApi()->call('/me')->getContent()['id']); $add = $ca->addUsers($users, CustomAudienceTypes::ID, array($this->getAppId())); $this->assertClusterChangesResponse($ca, $users, $add); $remove = $ca->removeUsers($users, CustomAudienceTypes::ID, array($this->getAppId())); $this->assertClusterChangesResponse($ca, $users, $remove); $optout = $ca->optOutUsers($users, CustomAudienceTypes::ID, array($this->getAppId())); $this->assertSuccessResponse($optout); $ca->delete(); }
// should begin with "act_" (eg: $account_id = 'act_1234567890';) $account_id = null; // Configurations - End if (is_null($access_token) || is_null($app_id) || is_null($app_secret)) { throw new \Exception('You must set your access token, app id and app secret before executing'); } if (is_null($account_id)) { throw new \Exception('You must set your account id before executing'); } define('SDK_DIR', __DIR__ . '/..'); // Path to the SDK directory $loader = (include SDK_DIR . '/vendor/autoload.php'); use FacebookAds\Api; Api::init($app_id, $app_secret, $access_token); // use the namespace for Custom Audiences and Fields use FacebookAds\Object\CustomAudience; use FacebookAds\Object\Fields\CustomAudienceFields; use FacebookAds\Object\Values\CustomAudienceTypes; // Create a custom audience object, setting the parent to be the account id $audience = new CustomAudience(null, $account_id); $audience->setData(array(CustomAudienceFields::NAME => 'My Custom Audiece', CustomAudienceFields::DESCRIPTION => 'Lots of people')); // Create the audience $audience->create(); echo "Audience ID: " . $audience->id . "\n"; // Assuming you have an array of emails: // NOTE: The SDK will hash (SHA-2) your data before submitting // it to Facebook servers $emails = array('*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**'); $audience->addUsers($emails, CustomAudienceTypes::EMAIL); $audience->read(array(CustomAudienceFields::APPROXIMATE_COUNT)); echo "Estimated Size:" . $audience->{CustomAudienceFields::APPROXIMATE_COUNT} . "\n";
// _DOC close [CUSTOM_AUDIENCE_UPDATE_OPTOUT] $audience->delete(); $audience = new CustomAudience(null, $ad_account_id); $audience->setData(array(CustomAudienceFields::NAME => 'My new CA', CustomAUdienceFields::DESCRIPTION => 'Docsmith', CustomAudienceFields::SUBTYPE => CustomAudienceSubtypes::CUSTOM)); $audience->create(); $custom_audience_id = $audience->{CustomAudienceFields::ID}; $user_id_1 = 1234; $user_id_2 = 12345; // _DOC open [CUSTOM_AUDIENCE_USERS_ADD_ID] // _DOC vars [custom_audience_id:s, application_id, user_id_1, user_id_2] // use FacebookAds\Object\CustomAudience; // use FacebookAds\Object\Fields\CustomAudienceFields; // use FacebookAds\Object\Values\CustomAudienceTypes; // Add Facebook IDs of users of certain applications $audience = new CustomAudience($custom_audience_id); $audience->addUsers(array($user_id_1, $user_id_2), CustomAudienceTypes::ID, array($application_id)); // _DOC close [CUSTOM_AUDIENCE_USERS_ADD_ID] $audience->delete(); $account = new AdAccount($ad_account_id); $pixels = $account->getAdsPixels(array(AdsPixelsFields::CODE)); if (!$pixels->count()) { $pixel = new AdsPixel(null, $ad_account_id); $pixel->{AdsPixelsFields::NAME} = 'My WCA Pixel'; $pixel->create(); } else { $pixel = $pixels->current(); } $pixel_id = $pixel->{AdsPixelsFields::ID}; // _DOC open [CUSTOM_AUDIENCE_CREATE_WCA] // _DOC vars [ad_account_id:s, pixel_id] // use FacebookAds\Object\CustomAudience;