Рекомендации

В этом руководстве приведены рекомендации по оптимизации эффективности и производительности приложений.

Поддержка приложения

Чтобы приложение работало без перебоев, сделайте следующее:

  • Убедитесь, что список владельцев и редакторов вашего проекта Google Cloud актуален. Мы будем связываться с ними в экстренных случаях или по вопросам, связанным с соблюдением Условий использования API. Если мы не сможем связаться с вами по вопросам, связанным с соблюдением Условий использования API, ваш доступ к API может быть ограничен или отозван.

  • Чтобы получать информацию о проблемах, например об изменениях в продукте, простоях в связи с техническим обслуживанием и датах прекращения поддержки, подпишитесь на наш блог об API и блог о продукте.

  • Следите за тем, чтобы ваше приложение соответствовало Условиям использования Google Ads API. При необходимости команда по обеспечению соответствия API требованиям свяжется с владельцами и редакторами вашего проекта Google Cloud, у которых есть доступ к API. Если у вас есть вопросы или замечания по поводу Условий использования, вы можете связаться с командой по контролю за соблюдением правил, ответив на письмо, которое вы получили от нее при рассмотрении вашей заявки на доступ к API.

Оптимизация

Вы можете оптимизировать приложение, выполняя пакетные операции и, если это целесообразно, отправляя разреженные объекты.

Массовые операции

Выполнение запроса к API связано с рядом фиксированных затрат, таких как задержка сети при передаче данных туда и обратно, обработка сериализации и десериализации, а также вызовы внутренних систем. Чтобы снизить влияние этих фиксированных затрат и повысить общую производительность, большинство методов изменения в API разработаны для приема массива операций. Объединяя несколько операций в один запрос, вы можете сократить количество запросов и связанные с ними фиксированные расходы. По возможности избегайте запросов, содержащих только одну операцию.

Например, вы добавляете в кампанию 50 000 ключевых слов,распределенных по нескольким группам объявлений. Вместо 50 000 запросов с одним ключевым словом в каждом отправьте 100 запросов с 500 ключевыми словами или даже 10 запросов с 5000 ключевых слов. Количество операций в запросе ограничено, поэтому вам может потребоваться скорректировать размер пакета, чтобы добиться оптимальной производительности.

Используйте частичную отправку объектов

Когда объекты отправляются в API, поля должны быть десериализованы, проверены и сохранены в базе данных. Если вы передаете полные объекты, когда нужно обновить лишь несколько полей, это может привести к увеличению времени обработки и снижению производительности. Чтобы избежать этого, Google Ads API поддерживает разреженные обновления, позволяя заполнять только те поля в объекте, которые необходимо изменить или которые являются обязательными. Разреженные обновления обрабатываются быстрее и с меньшей вероятностью приводят к ошибкам. Поля, не указанные в update_mask (также известном как FieldMask), остаются без изменений.

Например, приложение, которое обновляет ставки на уровне ключевых слов, может использовать разреженные обновления, поскольку в этом случае нужно заполнить только поля идентификатора группы объявлений, идентификатора критерия и ставок.

Обработка ошибок

При создании приложения вы, вероятно, столкнетесь с ошибками. В этом разделе описываются рекомендации и стратегии по встраиванию управления ошибками в ваше приложение. В дополнение к этому разделу посетите Руководство по устранению неполадок для получения дополнительной информации об управлении ошибками.

Определите источник запросов

Некоторые приложения являются преимущественно интерактивными, то есть вызовы API в них выполняются непосредственно в ответ на действия пользователя в интерфейсе. Другие работают в основном в офлайн-режиме, выполняя вызовы API в рамках периодического фонового процесса. Многие приложения используют оба этих сценария. При разработке стратегии обработки ошибок полезно различать эти типы запросов.

Если запросы инициируются пользователем, ваша основная задача – обеспечить удобство работы. Используйте конкретную ошибку, чтобы предоставить пользователю как можно больше контекста в интерфейсе. Предложите пользователю понятные шаги, которые он может предпринять, чтобы устранить ошибку (см. предложения ниже).

Для запросов, инициированных на сервере, реализуйте обработчики для разных типов ошибок, с которыми может столкнуться ваше приложение. Всегда включайте обработчик по умолчанию, чтобы устранять редкие или ранее не встречавшиеся ошибки. Хороший подход для обработчика по умолчанию – добавить неудачную операцию и ошибку в очередь, чтобы оператор мог просмотреть их и определить подходящее решение.

Определите тип ошибки

Чтобы создать надежную систему обработки ошибок, важно понимать, чем отличаются типы ошибок в Google Ads API. Вот некоторые из наиболее распространенных типов ошибок:

Подробную информацию вы найдете в разделах Типы ошибок и Распространенные ошибки.

Синхронизируйте данные

Если у пользователей вашего приложения есть доступ к аккаунтам Google Рекламы, они могут вносить изменения, о которых ваше приложение не знает, что приводит к рассинхронизации локальной базы данных вашего приложения. Как указано в руководстве Типы ошибок, вы можете устранять ошибки синхронизации по мере их возникновения, а также принимать меры по их предотвращению. Один из способов – периодически запускать синхронизацию, чтобы сопоставлять локальную базу данных с объектами Google Рекламы в ваших аккаунтах. Если у вас большая иерархия аккаунтов, не извлекайте все объекты из всех аккаунтов каждую ночь, чтобы не исчерпать дневные квоты. Вместо этого запрашивайте ChangeStatus или фильтруйте недавно измененные объекты, чтобы синхронизировать изменения постепенно.

Используйте журнал ошибок

Регистрируйте ошибки в журнале, чтобы их было легче отслеживать и устранять. Как минимум, регистрируйте идентификатор запроса, операции, вызвавшие ошибку, и саму ошибку. Другая информация, которую следует регистрировать, включает идентификатор клиента, сервис API, задержку запроса туда и обратно, количество повторных попыток, а также очищенный необработанный запрос и ответ (обязательно отредактируйте конфиденциальные учетные данные, такие как токены OAuth и любую информацию, позволяющую идентифицировать личность).

Обязательно отслеживайте тенденции в ошибках API, чтобы выявлять и устранять проблемы с приложением. Подумайте о создании собственного решения или использовании одного из многих доступных коммерческих инструментов, которые могут использовать ваши журналы для создания интерактивных панелей мониторинга и отправки автоматических оповещений.

Разработка

Используйте тестовые аккаунты во время разработки.

Используйте тестовый аккаунт

Тестовые аккаунты – это аккаунты Google Рекламы, в которых не показываются объявления. Тестовый аккаунт позволяет экспериментировать с Google Ads API и проверять, правильно ли работают подключение приложения, логика управления кампаниями и другие процессы. Для работы с тестовым аккаунтом вашему облачному проекту Google Cloud нужен только тестовый доступ. Это значит, что вы можете сразу начать разработку с помощью Google Ads API, пока мы рассматриваем вашу заявку на более высокий уровень доступа.