yish / laravel-facebook-php-ads-sdk
该包已被废弃,不再维护。未建议替代包。
该包的最新版本(2.6.10)没有提供许可证信息。
为 Laravel 的 Facebook 广告 API SDK
2.6.10
2018-08-10 11:18 UTC
Requires
- php: >=7.0.0
- facebook/php-ads-sdk: ^3.1.0
README
此项目目前正在开发中。
更新!Facebook Ads API 3.1!
安装
$ composer require yish/laravel-facebook-php-ads-sdk
app.php
//Provider
Yish\LaravelFacebookAdsSdk\FacebookAdsServiceProvider::class,
//Facade
'FacebookAds' => Yish\LaravelFacebookAdsSdk\Facades\LaravelFacebookAdsSdk::class,
配置发布
$ php artisan vendor:publish
.env
FB_APP_ID=
FB_APP_SECRET=
函数
参考 FacebookAds\Object\Fields\AdAccountFields
常量。
FacebookAds::getAdAccountList($facebookToken, ['ACCOUNT_ID', 'BUSINESS']);
或者你可以对字符串进行操作。
FacebookAds::getAdAccountList($facebookToken, 'ACCOUNT_ID');
参考 FacebookAds\Object\Fields\CampaignFields
常量。
FacebookAds::getCampaignList($facebookToken, $account_id, ['OBJECTIVE', 'NAME']);
或者你可以对字符串进行操作。
FacebookAds::getCampaignList($facebookToken, $account_id, 'OBJECTIVE');
参考 FacebookAds\Object\Fields\AdInsightsFields
常量。
默认情况下。
//DEFAULT:$parameters = ['IMPRESSIONS', 'SPEND'], $preset = 'last_30_days', $time_range = null, $amount = 50
FacebookAds::getInsightList($userFbToken, $type, $ids);
示例
FacebookAds::getInsightList($userFbToken, $type, $ids, 'last_month');
FacebookAds::getInsightList($userFbToken, $type, $ids, null, ['2015-01-01', '2015-03-01']);
//Note
date_preset: his field is ignored if time_range or time_ranges is specified.
FacebookAds::getInsightList($userFbToken, $type, $ids, 'last_month', ['2015-01-01', '2015-03-01']); //you will get '2015-01-01', '2015-03-01' data.
或者你可以对字符串进行操作。
FacebookAds::getInsightList($userFbToken, $type, $ids, 'COST_PER_UNIQUE_CLICK');
//$type = [
'adaccount',
'campaign',
'adset',
'ad',
];
//$preset @see https://developers.facebook.com/docs/marketing-api/reference/ad-campaign/insights/
异常
我添加了 LaravelFacebookAdsSdkException
来处理异常。你可以在 App\Exceptions
handler.php 中处理它。
if ( $e instanceof LaravelFacebookAdsSdkException ) {
return respond($e->getMessage(), $e->getCode());
}
转换
转换 AdAccount 状态,你可以调用这个
FacebookAds::transAdAccountStatus($adaccount_status);
//参考:https://developers.facebook.com/docs/marketing-api/reference/ad-account/#Reading //account_status, 账户状态 //1 = 激活 //2 = 禁用 //3 = 未解决 //....
转换 DisableReason 状态,你可以调用这个
FacebookAds::transDisableReason($disable_reason);
//参考:https://developers.facebook.com/docs/marketing-api/reference/ad-account/#Reading //0 = 无 //1 = 广告完整性策略 //2 = IP 审查 //3 = 风险支付 //4 = 灰色账户关闭 //5 = 广告 AFC 审查