В этом руководстве рассказывается, как оптимизировать приложения, чтобы повысить их эффективность и производительность.
Поддержка приложения
Чтобы приложение работало без перебоев, сделайте следующее:
Убедитесь, что список владельцев и редакторов вашего проекта 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, пока Google проверяет ваше приложение на соответствие требованиям для более высоких уровней доступа к API.