最佳实践

本指南介绍了一些可用于优化应用效率和性能的最佳实践。

维护应用

为确保应用不间断运行,请执行以下操作:

  • 确保您的 Google Cloud 项目的所有者和编辑者列表是最新的。如果出现任何紧急情况或与 API 条款及条件合规性相关的问题,我们会与这些用户联系。如果我们无法就 API 条款及条件的合规性问题与您联系,您的 API 访问权限可能会被降低或撤消。

  • 如需及时了解产品变更、维护停机时间和弃用日期等问题,请订阅我们的 API 博客和产品博客。

  • 确保您的应用符合 Google Ads API 条款及条件 (T&C)。如果需要,API 合规性团队会与您的 Google Cloud 项目(具有 API 访问权限)的所有者和编辑者联系。如果您对相关条款及条件有任何疑问或疑虑,可以回复合规性团队在审核您的 API 访问权限申请时发送给您的电子邮件,与他们联系。

优化

您可以通过运行批量操作和发送稀疏对象(如果适用)来优化应用。

批量操作

向 API 发出请求会产生一些固定费用,例如往返网络延迟、序列化和反序列化处理以及对后端系统的调用。为了减轻这些固定成本的影响并提高整体性能,API 中的大多数 mutate 方法都设计为接受一系列操作。通过将多项操作批处理到每个请求中,您可以减少发出的请求数量和相关的固定费用。如果可以,请避免仅包含一项操作的请求。

下面我们举例说明如何向某个广告系列的多个广告组添加 5 万个关键字。与其每次请求包含 1 个关键字,共发出 5 万次请求,不如每次请求包含 500 个关键字,共发出 100 次请求,甚至每次请求包含 5,000 个关键字,共发出 10 次请求。 一个请求中允许的操作数量有限制,因此您可能需要调整批次大小,以实现最佳性能。

发送稀疏对象

当对象发送到 API 时,必须对字段进行反序列化、验证并存储在数据库中。如果您只想更新几个字段,但却传入完整对象,可能会导致处理时间过长,并降低性能。为了缓解此问题,Google Ads API 支持稀疏更新,允许您仅填充对象中需要更改或必需的字段。稀疏更新的处理速度更快,并且不太可能产生错误。不在 update_mask(也称为 FieldMask)中的字段保持不变。

例如,使用稀疏更新可让需要更新关键字级出价的应用受益,因为只需填充广告组 ID、条件 ID 和出价字段。

错误处理和管理

在开发过程中,您可能会遇到错误。本部分介绍了在应用中构建错误管理功能时需要考虑的事项和策略。除本部分之外,还可参阅问题排查指南了解有关错误管理的更多信息。

区分请求来源

有些应用主要以交互方式运行,直接在界面中响应用户发起的动作来发出 API 调用。还有一些应用主要在离线状态下运行,并作为定期后端进程的一部分发出 API 调用。许多应用结合了这两者。在考虑错误管理时,区分这些不同类型的请求会非常有用。

对于用户发起的请求,您的主要关注点应该是为用户提供良好的体验。使用发生的具体错误在界面中尽可能多地向用户提供背景信息。提供清晰的步骤,以便用户解决错误(请参阅以下建议)。

对于在后端发起的请求,请针对应用可能遇到的不同类型的错误实现处理程序。请务必加入一个默认处理程序,用来处理罕见或以前未遇到过的错误。对于默认处理程序,建议将失败的操作和错误添加到队列中,供操作员查看并确定适当的解决方案。

区分错误类型

在构建强大的错误处理机制时,了解 Google Ads API 中的错误类型之间的差异至关重要。下面是最常见的一些错误类型:

如需了解详情,请参阅错误类型和常见错误。

同步后端

如果应用用户有手动访问 Google Ads 账号的权限,他们可能会做出应用无法知晓的更改,导致应用的本地数据库不同步。如我们的错误类型指南中所述,您可以在出现同步相关错误时被动地解决这些错误,但也可以尝试主动防止这些错误。一种主动策略是运行定期同步作业,以协调本地数据库与账号中的 Google Ads 对象。对于大型账号层次结构,请避免每晚提取所有账号中的所有对象,以免耗尽每日配额;而应查询 ChangeStatus 或过滤最近修改的实体,以增量方式同步更改。

日志错误数

应将所有错误都记录到日志中以便进行调试和监控。至少应记录请求 ID、导致错误的操作以及错误本身。要记录的其他信息包括客户 ID、API 服务、往返请求延迟时间、重试次数以及经过清理的原始请求和响应(确保编辑敏感凭据,例如 OAuth 令牌、开发者令牌 [如果仍包含在旧版请求标头中] 和任何 PII)。

请务必监控 API 错误的趋势,以便可以检测和解决应用的问题。您可以考虑构建自己的解决方案,也可以使用许多可用的商业工具,这些工具可以使用您的日志生成互动式信息中心并发送自动提醒。

开发

在开发期间使用测试账号。

使用测试账号

测试账号是指实际上不投放广告的 Google Ads 账号。您可以使用测试账号来试用 Google Ads API,并测试应用的连接性、广告系列管理逻辑或其他处理是否正常运行。您的 Google Cloud 项目只需具备测试访问权限即可在测试账号中使用,因此您可以在等待 Google 审核您的申请以获取更高级别的 API 访问权限期间,立即开始使用 Google Ads API 进行开发。