一、先创建一个广告应用
一个应用程序包含了营销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'});