一、先創建一個廣告應用
一個應用程序包含了營銷API或其他的Facebook的API構建的任何類型的功能。
配置您的Facebook應用以使用Marketing API和其他設置。
二、開發者的沙盒模式
三、FacebookAds SDK 和 Facebook SDK 結合使用
1、獲取兩個SDK
{
"require": {
"facebook/php-sdk-v4" : "~5.0",
"facebook/php-ads-sdk": "2.5.*"
}
}
2、通過Facebook SDK獲取訪問令牌(Token)
require_once __DIR__ . '/vendor/autoload.php';
use Facebook\Facebook;
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Exceptions\FacebookSDKException;
// Init PHP Sessions
session_start();
$fb = new Facebook([
'app_id' => '1719520245027862',
'app_secret' => '{your-app-secret}',
]);
$helper = $fb->getRedirectLoginHelper();
if (!isset($_SESSION['facebook_access_token'])) {
$_SESSION['facebook_access_token'] = null;
}
if (!$_SESSION['facebook_access_token']) {
$helper = $fb->getRedirectLoginHelper();
try {
$_SESSION['facebook_access_token'] = (string) $helper->getAccessToken();
} catch(FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
}
if ($_SESSION['facebook_access_token']) {
echo "You are logged in!";
} else {
$permissions = ['ads_management'];
$loginUrl = $helper->getLoginUrl('http://localhost:8888/marketing-api/', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook</a>';
}
3、使用FacebookAds SDK初始化Marketing API,並獲取相關廣告數據
// Add to header of your file
use FacebookAds\Api;
use FacebookAds\Object\AdUser;
// Add after echo "You are logged in "
// Initialize a new Session and instantiate an Api object
Api::init(
'1719520245027862', // App ID
'{your-app-secret}',
$_SESSION['facebook_access_token'] // Your user access token
);
$me = new AdUser('me');
$my_adaccount = $me->getAdAccounts()->current();
print_r($my_adaccount->getData());
市場營銷API 參考:https://developers.facebook.com/docs/marketing-api/reference/v2.8
4、問題:
在引入FacebookAds後發現沒有autoload.php自動加載類文件
解決辦法:spl_autoload_register
-------------------更新於2017/02/17-------------------------
old
1、在“廣告管理工具”使用alipay充值3塊錢
#getting ad accounts 獲取到ad node
2、FB.api('/me/adaccounts'); FB.api('/me/adaccounts?fields=id,name'); FB.api('act_221377094983518?fields=id,name');
#creating campaigns 創建廣告系列
3、FB.api('/act_221377094983518/campaigns', 'POST', {'name':'我的廣告','objective':'LINK_CLICKS'}); MOBILE_APP_INSTALLS
、CONVERSIONS
等
#updating campaigns 修改廣告系列的相關設置
4、FB.api('23842545377820361', 'POST', {'status':'PAUSED'}); //暫停
#creating ad sets 創建廣告組
廣告組參數文檔
var account_id = 'act_221377094983518'; // Replace with your account ID.
var campaign_id = '23842545377820361'; // Replace with your campaign ID.
log(campaign_id);
if (campaign_id) {
FB.api(account_id + '/adsets', 'POST', {
name: '我的廣告組',
bid_amount: '5',//出價金額
daily_budget: '2000',//每日預算
billing_event: 'LINK_CLICKS',
optimization_goal: 'LINK_CLICKS',
targeting: {
geo_locations: {
countries: ['US']
}
},
status: 'PAUSED',
campaign_id: campaign_id
});
}
#create ad creative 創建廣告素材
#create ad 創建廣告 (注意:創建素材的同時,創建廣告)
var account_id = 'act_221377094983518'; // Replace with your account ID.
FB.api(account_id + '/adcreatives', 'POST', {
name: 'My Ad Creative',
title: 'Facebook Marketing Partners',
body: 'Get exactly the things you need from your marketing.',
image_url: 'https://fb.me/1UEB1MtuiFFRzNJ',
object_url: 'https://www.facebookmarketingpartners.com'
});
//使用上面的素材 創建廣告
FB.api('act_221377094983518/ads', 'POST', { creative_id: '23842545384610361'});