最佳做法

此页面涵盖在针对 Google Ad Manager API 开发应用时应考虑的各种最佳做法。

在执行过程中重复使用服务客户端/存根

创建新的服务客户端/桩会产生与提取 WSDL 和分配资源相关的边际费用。如果可能,请在执行开始时创建一次服务客户端/存根,并根据需要将其提供给类和函数。

获取对象时使用分页功能

所有服务均支持 get*ByStatement() 方法,该方法允许使用 PQL 语法过滤结果。LIMITOFFSET 子句可用于将大型结果集拆分为多个页面,以防止超时并将响应页面的大小控制在合理范围内。建议的页面大小为 200-500,具体取决于对象的复杂程度。

批量更新请求

更改同一类型的多个对象时,您可以在同一 update*() 请求中发送所有对象,以便获得更好的性能。对于每个请求,客户端和服务器上都有边际开销,而批量处理是减少请求数量的有效方法。例如,使用 updateOrders 更新一批订单,而不是每次调用中的单个订单。

在 PQL 中使用绑定参数

绑定参数是一种将变量放入 PQL 查询语句的方法。PQL 使用不含空格且以冒号开头的名称引用绑定变量,例如::name。如需代码示例,请参阅 PQL 语法页。

我们建议使用绑定变量,因为它们不需要将字符串和变量串联到一个查询语句中,从而提高了代码的可读性。它们还便于重复使用 PQL 语句,因为可以通过替换绑定参数值来创建新查询。

谨慎授予用户权限

使用 UserService 创建/更新用户角色时,请注意不要向用户授予他们并不需要的权限。API 的许多功能都可以通过组合使用多种角色进行访问,而无需为用户分配管理员角色。在决定为用户分配的角色时,请参阅权限文档。此外,作为第三方应用开发者,在请求网络为您创建用户时,请务必确定您的应用所需的访问权限级别;权限低于管理员的角色可能就足够了。

不超出配额限制

为保证稳健性,Ad Manager API 设有一些配额限制。请务必让您的应用保持在这些限制之内,并且您知道如何应对 API 可能返回的任何配额错误。

API 配额

应用于 API 请求的第一个配额是广告联盟级配额。Ad Manager 360 账号的上限为每秒 8 个请求;Ad Manager 账号的上限为每秒 2 个请求。超出此限制会导致 QuotaError.EXCEEDED_QUOTA 错误。在您的网络中发出的所有 API 请求均适用于此配额,包括您或贵公司的其他人已授予对您网络的 API 访问权限的第三方应用。

系统特定的配额

仅仅 API 配额不足以充分保护 Ad Manager 中的某些资源密集型系统。报告和预测系统会定义自己的配额,它们分别会导致 API 错误: QuotaError.REPORT_JOB_LIMIT ForecastError.EXCEEDED_QUOTA

处理配额错误

如果您的应用遇到上述任何配额错误,请执行用于重试 API 请求的策略。我们建议您先等待至少 5 秒,如果您继续收到错误,请使用 指数退避算法来增加重试的间隔时间。如果重试未成功,请检查您的 API 应用,查看您的网络上是否有用户耗尽您的配额。