Download the PHP package goletter/hyperf-adv without Composer
On this page you can find all versions of the php package goletter/hyperf-adv. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download goletter/hyperf-adv
More information about goletter/hyperf-adv
Files in goletter/hyperf-adv
Package hyperf-adv
Short Description 多平台广告 API SDK(内置 Facebook / TikTok / Google)。
License MIT
Informations about the package hyperf-adv
ADV SDK
多平台广告 API SDK。
| 平台 | 位置 | 说明 |
|---|---|---|
本包 Platforms/Facebook |
Marketing / Graph API | |
| TikTok | 本包 Platforms/TikTok |
Business API |
本包 Platforms/Google |
Google Ads API |
工厂(AdvFactory)、PlatformBundle、多 Token 轮询与公共异常均在本包。
目录
- 安装
- 快速开始
- Google Ads
- Facebook Marketing API
- TikTok Business API
- 特性
安装
旧包名 goletter/hyperf-adv-facebook / hyperf-adv-tiktok / hyperf-adv-google 已合并进本包(Composer replace),无需再单独 require。
Hyperf 项目可发布配置:
快速开始(推荐)
Hyperf DI(读取 config/autoload/adv.php)
发布配置后,可注入工厂;create() 会自动合并对应平台配置(如 api_version、developer_token):
注册自定义平台
PlatformBundle 的 client / account / business / campaign / report 须为已支持平台类型(Facebook / TikTok / Google 对应类),以便 IDE 跳转与类型检查。Facebook Bundle 另含 ad、catalog、pixel。自定义平台通常基于现有实现扩展或包装:
多 Token 轮询(失败切换)
传入 token 数组后,单次请求从当前 token 开始;若抛出 API / Token 失效异常,自动换下一个,直到全部失败才抛出最后一次异常。成功后会粘滞在可用 token。
Facebook 在切换 token 前会打 token-failover 日志(若配置了 call log handler)。限流会先在当前 token 上按 max_retries 退避,仍失败再切下一个 token。
跨平台捕获 Token 失效:
Google Ads
需要 OAuth2 Access Token、Developer Token,操作 MCC 下子账户时还需 Login Customer ID(经理账户 ID,纯数字)。
应用授权 OAuth (GoogleAuth)
Google Ads OAuth2 分两步(默认 scope:https://www.googleapis.com/auth/adwords):
- 授权页:生成 URL,引导用户同意并返回
code - 回调:用
code换 Access Token / Refresh Token(access_type=offline+prompt=consent才会返回 refresh_token)
拿到 access_token 后即可调用 Ads API:
业务侧也可通过 AdvFactory::make(3, $oauthToken) 或 AdvFactory::make('google', $oauthToken) 获取平台 Bundle(含 client / account / business / campaign / report)。
环境变量(可选):
GOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_ADS_CLIENT_ID/GOOGLE_ADS_CLIENT_SECRET/GOOGLE_ADS_REDIRECT_URI(OAuth 授权用)
Facebook Marketing API
基础 Client
应用授权 OAuth (FacebookAuth / dialog/oauth)
Facebook 应用授权分两步:
- dialog/oauth:生成授权页 URL,引导用户跳转 Facebook 登录并授权
- 回调:用返回的
code换 Access Token(默认再换长期 Token,约 60 天)
也可通过 FacebookBusiness(内部委托 FacebookAuth):
配置项(config/autoload/adv.php,发布后可选填写):
Business Manager 管理 (FacebookBusiness)
账户管理 (FacebookAccount)
广告系列管理 (FacebookCampaign)
广告投放 (FacebookAd)
素材上传、广告组、创意、广告。也可通过 AdvFactory::facebook($token)->ad 使用。
典型流程:Campaign → AdSet → Creative(可先 uploadImage / uploadVideo)→ Ad。
商品目录管理 (FacebookCatalog)
需要 catalog_management(及通常的 business_management)权限。也可通过 AdvFactory::facebook($token)->catalog 使用。
像素管理 (FacebookPixel)
也可通过 AdvFactory::facebook($token)->pixel 使用。FacebookBusiness 上原有像素方法仍可用,但已标记 @deprecated,建议迁移到本类。
报告查询 (FacebookReport)
在项目中的实际使用示例
获取 Business Manager 列表
获取 BM 下的广告账户
获取账户消耗数据
更新账户名称和限额
管理账户分配用户
管理广告系列
异常处理
API 版本
默认使用 Facebook API v24.0,可在创建 Client 时自定义:
在账户类中快捷访问广告系列
TikTok Business API
应用授权 OAuth (TikTokAuth / portal/auth)
TikTok Marketing API 应用授权分两步:
- portal/auth:生成授权页 URL,引导用户授权广告账户
- 回调:用返回的
auth_code换 Access Token / Refresh Token
配置项(config/autoload/adv.php,发布后可选填写):
基础 Client
报表查询 (TikTokReport)
广告主信息 (TikTokAccount)
在项目中的实际使用示例(同步 TikTok 消耗到数据库)
TikTok 异常处理
特性
- 内置 Facebook / TikTok / Google
AdvFactory统一创建 Bundle;支持数字 / 字符串别名(0、fb、gads等)- 多 Access Token 轮询(失败切换,成功粘滞)
- 流式分页(Generator)、Facebook Graph 分页与去重
- 调用日志:
setCallLogHandler(含duration_ms请求耗时);可选对接goletter/hyperf-utils的logging() - Facebook:BM / 账户 / Campaign / Ad(素材·广告组·创意·广告)/ Catalog / Pixel / Insights;限流重试与 Batch
- 应用授权:Facebook
dialog/oauth、TikTokportal/auth、Google OAuth2 - 跨平台 Token 失效:
TokenExpiredExceptionInterface