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客户端IDclientSecret: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实现,如v202602、v202605等。
性能优化
对于大量数据操作,建议使用分页查询:
$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),仅供参考