이 가이드에서는 앱의 효율성과 성능을 최적화하기 위해 구현할 수 있는 몇 가지 권장사항을 설명합니다.
앱 유지관리
앱이 중단 없이 실행되도록 하려면 다음 단계를 따르세요.
Google Cloud 프로젝트의 소유자 및 편집자 목록이 최신 상태인지 확인합니다. Google은 비상 상황이 발생하거나 API 이용약관 준수와 관련된 주제가 있는 경우 이러한 사용자에게 연락합니다. API 이용약관 준수와 관련하여 연락이 되지 않는 경우 API 액세스 권한이 하향 조정되거나 취소될 수 있습니다.
제품 변경사항, 유지보수 다운타임, 지원 중단 날짜와 같은 문제에 대한 정보를 받으려면 API 블로그 및 제품 블로그를 구독하세요.
앱이 Google Ads API 이용약관 (T&C)을 준수하도록 합니다. 필요한 경우 API 규정 준수팀에서 API 액세스 권한이 있는 Google Cloud 프로젝트의 소유자 및 편집자에게 연락합니다. 이용약관에 관해 궁금한 점이나 우려사항이 있는 경우 API 액세스 신청서를 검토할 때 규정 준수팀에서 보낸 이메일에 답장하여 규정 준수팀에 문의할 수 있습니다.
최적화
일괄 작업을 실행하고 적절한 경우 희소 객체를 전송하여 앱을 최적화할 수 있습니다.
일괄 작업
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 객체와 조정하는 것입니다. 대규모 계정 계층 구조의 경우 일일 할당량이 소진되지 않도록 매일 밤 모든 계정에서 모든 객체를 가져오지 마세요. 대신 ChangeStatus를 쿼리하거나 최근에 수정된 항목을 필터링하여 변경사항을 점진적으로 동기화하세요.
로그 오류
디버깅과 모니터링을 용이하게 하려면 모든 오류를 로깅해야 합니다. 최소한 요청 ID, 오류를 일으킨 작업, 오류 자체를 로깅합니다. 기록할 다른 정보에는 고객 ID, API 서비스, 왕복 요청 지연 시간, 재시도 횟수, 정제된 원시 요청 및 응답(OAuth 토큰 및 PII와 같은 민감한 사용자 인증 정보 수정)이 포함됩니다.
추세 모니터링
앱의 문제를 감지하고 해결할 수 있도록 API 오류의 추세를 모니터링해야 합니다. 자체 솔루션을 빌드하거나 로그를 사용하여 대화형 대시보드를 생성하고 자동 알림을 전송할 수 있는 여러 상용 도구 중 하나를 사용하는 것이 좋습니다.
개발
개발 중에 테스트 계정을 사용합니다.
테스트 계정 사용
테스트 계정은 실제로 광고를 게재하지 않는 Google Ads 계정입니다. 테스트 계정을 사용하여 Google Ads API를 실험하고 앱의 연결, 캠페인 관리 로직 또는 기타 처리가 예상대로 작동하는지 테스트할 수 있습니다. Google Cloud 프로젝트는 테스트 계정에서 사용할 테스트 액세스 권한만 필요하므로 Google에서 더 높은 API 액세스 수준에 대한 신청서를 검토하는 동안 Google Ads API를 사용하여 즉시 개발을 시작할 수 있습니다.