이 가이드에서는 앱의 효율성과 성능을 최적화하기 위해 구현할 수 있는 몇 가지 권장사항을 설명합니다.
지속적인 유지보수
앱이 중단 없이 실행되도록 하려면 다음을 수행하세요.
Google Cloud 프로젝트의 관리자 및 소유자 목록이 최신 상태인지 확인합니다. 비상사태 또는 API 이용약관 준수와 관련된 주제가 있는 경우 Google에서 이러한 사용자에게 연락합니다. API 이용약관 준수와 관련하여 Google에서 연락할 수 없는 경우 API 액세스 권한이 낮아지거나 취소될 수 있습니다.
제품 변경사항, 유지보수 다운타임, 지원 중단 날짜와 같은 문제에 대한 알림을 받으려면 다음을 구독하세요.
앱이 Google Ads API 이용약관 (T&C)을 준수하도록 합니다. 필요한 경우 API 규정 준수팀에서 API 액세스 권한이 있는 Google Cloud 프로젝트의 관리자 및 소유자에게 연락합니다. 이용약관에 관해 궁금한 점이나 우려사항이 있는 경우 API 액세스 신청을 검토할 때 Google에서 보낸 이메일에 답장하여 규정 준수팀에 문의할 수 있습니다.
최적화
일괄 작업을 실행하고 적절한 경우 스파스 객체를 전송하여 앱을 최적화할 수 있습니다.
일괄 작업
API에 요청을 하면 왕복 네트워크 지연 시간, 직렬화 및 역직렬화 처리, 백엔드 시스템 호출과 같은 여러 고정 비용이 발생합니다. 이러한 고정 비용의 영향을 줄이고 전반적인 성능을 높이기 위해 API의 대부분의 변경 메서드는 작업 배열을 허용하도록 설계되었습니다. 각 요청에 여러 작업을 일괄 처리하면 요청 수와 관련 고정 비용을 줄일 수 있습니다. 가능하면 작업이 하나만 있는 요청을 하지 마세요.
예를 들어 여러 광고그룹의 캠페인에 50,000개의 키워드를 추가한다고 가정해 보겠습니다. 키워드가 각각 1개인 요청 50,000개를 하는 대신 키워드가 각각 500개인 요청 100개 또는 키워드가 각각 5,000개인 요청 10개를 합니다. 요청에 허용되는 작업 수에는 제한이 있으므로 최적의 성능을 달성하려면 배치 크기를 조정해야 할 수 있습니다.
스파스 객체 전송
객체가 API로 전송되면 필드를 역직렬화하고 검증한 후 데이터베이스에 저장해야 합니다. 일부 필드만 업데이트하려는 경우 전체 객체를 전달하면 처리 시간이 늘어나고 성능이 저하될 수 있습니다. 이를 완화하기 위해 Google Ads API는 스파스 업데이트를 지원하므로 변경해야 하거나 필요한 객체의 필드만 채울 수 있습니다.
스파스 업데이트는 더 빠르게 처리되며 오류가 발생할 가능성이 적습니다. update_mask (FieldMask라고도 함)에 없는 필드는 변경되지 않습니다.
예를 들어 키워드 수준 입찰가를 업데이트하는 앱은 광고그룹 ID, 기준 ID, 입찰가 필드만 채우면 되므로 스파스 업데이트를 사용하면 유용합니다.
오류 처리 및 관리
개발 중에 오류가 발생할 수 있습니다. 이 섹션에서는 앱에 오류 관리를 빌드하기 위한 고려사항과 전략을 설명합니다. 이 섹션 외에도 오류 관리에 관한 자세한 내용은 문제 해결 가이드를 참고하세요.
요청 소스 구분
일부 앱은 주로 대화형으로, UI에서 사용자가 시작한 작업에 대한 응답으로 API 호출을 직접 실행합니다. 다른 앱은 주로 오프라인으로 작동하며 주기적인 백엔드 프로세스의 일부로 API 호출을 실행합니다. 많은 앱이 이 두 가지를 결합합니다. 오류 관리를 고려할 때는 이러한 다양한 유형의 요청을 구분하는 것이 유용할 수 있습니다.
사용자가 시작한 요청의 경우 사용자를 위한 좋은 환경을 제공하는 것이 가장 중요합니다. 발생한 특정 오류를 사용하여 UI에서 사용자에게 최대한 많은 컨텍스트를 제공합니다. 오류를 해결하기 위해 취할 수 있는 간단한 단계를 제공합니다 (아래의 제안사항 참고).
백엔드에서 시작된 요청의 경우 앱에서 발생할 수 있는 다양한 유형의 오류에 대한 핸들러를 구현합니다. 드물거나 이전에 발생하지 않은 오류를 해결하기 위해 항상 기본 핸들러를 포함합니다. 기본 핸들러의 좋은 접근 방식은 실패한 작업과 오류를 인간 운영자가 검토하고 적절한 해결 방법을 결정할 수 있도록 대기열에 추가하는 것입니다.
오류 유형 구분
Google Ads API의 오류 유형 간 차이점을 아는 것은 강력한 오류 처리를 빌드할 때 매우 중요합니다. 가장 일반적인 오류 유형은 다음과 같습니다.
자세한 내용은 오류 유형 및 일반적인 오류 를 참고하세요.
백엔드 동기화
앱 사용자가 Google Ads 계정에 수동으로 액세스할 수 있는 경우 앱에서 인식하지 못하는 변경사항을 적용하여 앱의 로컬 데이터베이스가 동기화되지 않을 수 있습니다. 오류 유형 가이드에 설명된 대로 동기화 관련 오류가 발생하면 반응적으로 해결할 수 있지만 사전에 방지할 수도 있습니다. 사전 전략 중 하나는 모든 계정에서 야간 동기화 작업을 실행하여 계정의 Google Ads 객체를 가져오고 로컬 데이터베이스와 비교하는 것입니다.
로그 오류
디버깅 및 모니터링을 용이하게 하기 위해 모든 오류를 로깅해야 합니다. 최소한 요청 ID, 오류를 일으킨 작업, 오류 자체를 로깅합니다. 로깅할 기타 정보에는 고객 ID, API 서비스, 왕복 요청 지연 시간, 재시도 횟수, 원시 요청 및 응답이 포함됩니다.
추세 모니터링
앱의 문제를 감지하고 해결할 수 있도록 API 오류의 추세를 모니터링해야 합니다. 로그를 사용하여 대화형 대시보드를 생성하고 자동 알림을 전송할 수 있는 자체 솔루션을 빌드하거나 사용 가능한 여러 상용 도구 중 하나를 사용하는 것이 좋습니다.
개발
개발 중에 테스트 계정을 사용합니다.
테스트 계정 사용
테스트 계정은 실제로 광고를 게재하지 않는 Google Ads 계정입니다. 테스트 계정을 사용하여 Google Ads API를 실험하고 앱의 연결, 캠페인 관리 로직 또는 기타 처리가 예상대로 작동하는지 테스트할 수 있습니다. Google Cloud 프로젝트에는 테스트 계정에서 사용하기 위한 테스트 계정 액세스 수준만 필요하므로 Google에서 더 높은 API 액세스 수준을 위한 애플리케이션을 검토하는 동안 Google Ads API로 개발을 바로 시작할 수 있습니다.