当前位置: 首页 > news >正文

Google Ad Manager SOAP API Client Library for PHP示例大全:从基础到高级

Google Ad Manager SOAP API Client Library for PHP示例大全:从基础到高级

【免费下载链接】googleads-php-libGoogle Ad Manager SOAP API Client Library for PHP项目地址: https://gitcode.com/gh_mirrors/go/googleads-php-lib

Google Ad Manager SOAP API Client Library for PHP是一套强大的工具,帮助开发者轻松与Google Ad Manager平台集成,实现广告管理的自动化与定制化。本指南将带你从环境搭建到高级功能应用,掌握使用该库的核心技能,提升广告运营效率。

快速入门:环境搭建与配置

一键安装步骤

要开始使用Google Ad Manager PHP库,首先需要通过Composer安装依赖:

composer require googleads/googleads-php-lib

安装完成后,你需要创建配置文件adsapi_php.ini,存放认证信息和API设置。配置文件的模板可以在项目的examples/AdManager/目录下找到。

配置文件详解

配置文件是连接API的关键,以下是主要配置项说明:

  • clientId:OAuth2客户端ID
  • clientSecret:OAuth2客户端密钥
  • refreshToken:刷新令牌
  • developerToken:开发者令牌
  • networkCode:网络代码

配置文件的路径通常为examples/AdManager/adsapi_php.ini,确保正确填写所有必要信息。

基础操作:核心功能示例

创建广告单元

广告单元是广告管理的基础,以下示例展示如何创建一个新的广告单元:

$adUnit = new AdUnit(); $adUnit->setName('Example Ad Unit'); $adUnit->setAdUnitCode('example_ad_unit'); $adUnit->setTargetWindow(AdUnitTargetWindow::BLANK); $adUnitSizes = []; $adUnitSize = new AdUnitSize(); $adUnitSize->setSize(new Size(300, 250, false)); $adUnitSizes[] = $adUnitSize; $adUnit->setAdUnitSizes($adUnitSizes); $inventoryService = $serviceFactory->createInventoryService($session); $results = $inventoryService->createAdUnits([$adUnit]);

这段代码创建了一个300x250像素的广告单元,目标窗口为新窗口。更多细节可参考examples/AdManager/v202602/InventoryService/CreateAdUnits.php

获取广告单元列表

要获取所有广告单元,可以使用以下代码:

$statementBuilder = (new StatementBuilder())->orderBy('id ASC')->limit(StatementBuilder::SUGGESTED_PAGE_LIMIT); $page = $inventoryService->getAdUnitsByStatement($statementBuilder->toStatement()); if ($page->getResults() !== null) { foreach ($page->getResults() as $adUnit) { printf("Ad unit with ID %d and name '%s' was found.%s", $adUnit->getId(), $adUnit->getName(), PHP_EOL); } }

这个示例使用StatementBuilder来分页获取广告单元,完整代码在examples/AdManager/v202602/InventoryService/GetAllAdUnits.php

高级应用:定制化与优化

自定义定向条件

通过自定义定向条件,你可以更精准地定位广告受众。以下示例展示如何创建自定义定向键和值:

// 创建自定义定向键 $genderKey = new CustomTargetingKey(); $genderKey->setName('gender'); $genderKey->setDisplayName('Gender'); $genderKey->setType(CustomTargetingKeyType::PREDEFINED); // 创建自定义定向值 $genderMaleValue = new CustomTargetingValue(); $genderMaleValue->setCustomTargetingKeyId($genderKey->getId()); $genderMaleValue->setName('male'); $genderMaleValue->setDisplayName('Male');

这段代码创建了一个"gender"定向键和"male"定向值,完整示例在examples/AdManager/v202602/CustomTargetingService/CreateCustomTargetingKeysAndValues.php

生成广告报告

广告报告是分析广告效果的重要工具。以下代码展示如何生成一个简单的广告报告:

$reportJob = new ReportJob(); $reportQuery = new ReportQuery(); $reportQuery->setDimensions([Dimension::AD_UNIT_ID, Dimension::AD_UNIT_NAME]); $reportQuery->setColumns([Column::AD_SERVER_IMPRESSIONS, Column::AD_SERVER_CLICKS]); $reportQuery->setDateRangeType(DateRangeType::LAST_MONTH); $reportJob->setReportQuery($reportQuery); $reportService = $serviceFactory->createReportService($session); $reportJob = $reportService->runReportJob($reportJob);

这个示例生成了一个包含广告单元ID、名称、展示量和点击量的报告,更多报告类型可参考examples/AdManager/v202602/ReportService/目录下的示例。

常见问题与解决方案

认证问题

如果遇到认证错误,首先检查adsapi_php.ini中的refreshToken是否有效。你可以通过examples/Auth/GetRefreshToken.php重新获取刷新令牌。

API版本兼容性

Google Ad Manager API定期更新,确保使用最新版本的客户端库。你可以在src/Google/AdsApi/AdManager/目录下找到不同版本的API实现,如v202602v202605等。

性能优化

对于大量数据操作,建议使用分页查询:

$statementBuilder = (new StatementBuilder())->limit(500); do { $page = $service->getItemsByStatement($statementBuilder->toStatement()); // 处理数据 $statementBuilder->increaseOffsetBy(500); } while ($page->getTotalResultSetSize() > $statementBuilder->getOffset());

这种方式可以有效减少内存占用,提高处理效率。

总结与资源

Google Ad Manager SOAP API Client Library for PHP提供了丰富的功能,从简单的广告单元管理到复杂的报告生成。通过本指南的示例,你可以快速掌握核心功能,并根据实际需求进行扩展。

更多示例和详细文档,请参考项目中的examples/目录和官方文档。定期查看CHANGELOG.md了解库的更新情况,确保你的集成始终保持最新。

祝你在Google Ad Manager的集成之路上取得成功!

【免费下载链接】googleads-php-libGoogle Ad Manager SOAP API Client Library for PHP项目地址: https://gitcode.com/gh_mirrors/go/googleads-php-lib

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1367884/

相关文章:

  • Suterusu隐蔽通信机制:ICMP协议与dlexec模块的恶意载荷投递
  • 掌握站点可靠性工程:从Google SRE实践到企业级实施指南
  • 如何用RegNetY-320.SWAG-FT-In1k实现高效图像分类?5分钟上手教程
  • 2026县域智慧交通项目,非现场执法信得过品牌广州聚杰 - 品牌速递
  • OBS Studio插件开发实战:5步构建专业级转场特效系统
  • Agent Governance Toolkit与Huawei Cloud集成:云端AI代理治理的终极指南
  • 2026塑料包装新趋势,广州恒尔塑料全自动吨袋包装机以环保高效设计,引领绿色智造新风向 - 品牌速递
  • 如何将acts_as_commentable_with_threading与acts_as_votable集成:打造互动式评论体验
  • 紫队实战入门:Enterprise Purple Teaming威胁模拟与防御优化案例分析
  • rust-sfml与OpenGL集成:在Rust游戏中使用硬件加速渲染
  • 2026团购小程序开发哪个公司好,低价团购别做成利润黑洞
  • 为什么选择samba-documents-provider?Android网络文件共享工具深度解析
  • 2026湖州卫生间漏水避坑指南 - 企业资讯
  • Orbiter源码解析:Objective-C接口设计与网络请求封装技巧
  • SAPIEN CUDA加速技术:提升物理仿真与渲染性能的终极指南
  • 3步掌握Arnis:将现实世界完美融入Minecraft的终极指南
  • 德阳专业的铂回收中心服务点:德阳经开区正恒鑫金属材料经营部(德阳服务中心) - 品牌优推
  • 郑州CMA甲醛检测公司公共卫生检测如何选:安鑫甲醛检测实验室 - CMA甲醛检测中心
  • 3分钟掌握Gamdl:为什么这款Apple Music下载工具如此受欢迎?
  • 找江苏淘金设备批发厂家 青州市建龙环保科技有限公司(江苏运营中心) - 品牌优推
  • 5分钟掌握ExplorerPatcher:让你的Windows 11找回熟悉的Windows 10界面体验
  • React-multistep核心API完全解析:useMultiStep钩子与状态管理
  • Linly-Dubbing:打造专业级AI视频配音工具的完整指南
  • Audacity音频编辑:从新手到高手的完整免费解决方案
  • obs-studio-node常见问题解决:安装失败、性能优化与兼容性处理
  • 黔南CMA甲醛检测公司公共卫生检测如何选:安鑫甲醛检测实验室 - CMA甲醛检测中心
  • 为什么选择postcss-scss?探索PostCSS生态中SCSS解析器的核心优势
  • Rinvex Repository:为什么它是Laravel数据层抽象的终极解决方案?
  • 5个高效技巧:用BaiduPCS-Go打造专业级云端存储管理方案
  • 2026拼团小程序制作软件有哪些,新手先看自己能不能独立配置