권장사항

동영상: 2019년 워크숍의 권장사항 강연 확인하기

이 가이드에서는 앱의 효율성과 성능을 최적화하기 위해 구현할 수 있는 몇 가지 권장사항을 다룹니다.

지속적인 유지보수

앱이 중단 없이 실행되도록 하려면 다음 단계를 따르세요.

  • API 센터의 개발자 연락처 이메일을 최신 상태로 유지하세요. 이 별칭은 Google에서 연락하는 데 사용됩니다. API 이용약관 준수와 관련하여 연락드릴 수 없는 경우 사전 통지 없이 API 액세스 권한이 취소될 수 있습니다. 개인 또는 모니터링되지 않는 계정에 연결된 개인 이메일 주소는 사용하지 마세요. API 센터를 보려면 관리자 계정에 로그인해야 합니다.

  • 제품 변경사항, 유지보수 다운타임, 지원 중단 날짜 등의 문제를 알림으로 받으려면

포럼은 Google Ads API팀에서 정기적으로 모니터링하므로 API 관련 질문을 게시하기에 적합합니다.

  • 앱이 Google Ads API 이용약관 (T&C)을 준수하도록 하세요. 필요한 경우 토큰 검토 및 규정 준수팀에서 연락처 이메일을 사용하여 연락을 드립니다. 이용약관에 관해 궁금한 점이나 우려사항이 있는 경우 개발자 토큰 신청을 검토할 때 전송된 이메일에 답장하여 검토팀에 문의할 수 있습니다.

최적화

일괄 작업을 실행하고 적절한 경우 스파스 객체를 전송하여 앱을 최적화할 수 있습니다.

일괄 작업

API에 요청을 하면 왕복 네트워크 지연 시간, 직렬화 및 역직렬화 처리, 백엔드 시스템 호출과 같은 여러 고정 비용이 발생합니다. 이러한 고정 비용의 영향을 줄이고 전체 성능을 높이기 위해 API의 대부분의 mutate 메서드는 작업 배열을 허용하도록 설계되었습니다. 각 요청에 여러 작업을 일괄 처리하면 요청 수와 관련 고정 비용을 줄일 수 있습니다. 가능하다면 작업이 하나인 요청은 피하세요.

예를 들어 여러 광고 그룹에 걸쳐 캠페인에 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의 오류 유형 간 차이점을 아는 것은 강력한 오류 처리를 구축할 때 중요합니다. 가장 일반적인 오류 유형은 다음과 같습니다.

  1. 인증 오류
  2. 재시도 가능한 오류
  3. 유효성 검사 오류
  4. 동기화 관련 오류

자세한 내용은 오류 유형일반적인 오류를 참고하세요.

동기화 백엔드

앱 사용자가 Google Ads 계정에 수동으로 액세스할 수 있는 경우 앱에서 알지 못하는 변경사항이 발생하여 앱의 로컬 데이터베이스가 동기화되지 않을 수 있습니다. 오류 유형 가이드에 설명된 대로 동기화 관련 오류가 발생하면 사후에 해결할 수 있지만 사전에 방지할 수도 있습니다. 한 가지 사전 예방적 전략은 모든 계정에서 야간 동기화 작업을 실행하여 계정의 Google Ads 객체를 가져오고 로컬 데이터베이스와 비교하는 것입니다.

로그 오류

디버깅과 모니터링을 용이하게 하기 위해 모든 오류를 로깅해야 합니다. 최소한 요청 ID, 오류를 일으킨 작업, 오류 자체를 로깅합니다. 로깅할 기타 정보에는 고객 ID, API 서비스, 왕복 요청 지연 시간, 재시도 횟수, 원시 요청 및 응답이 포함됩니다.

앱의 문제를 감지하고 해결할 수 있도록 API 오류 추세를 모니터링하세요. 로그를 사용하여 대화형 대시보드를 생성하고 자동 알림을 전송할 수 있는 자체 솔루션을 구축하거나 사용 가능한 상업용 도구를 활용하는 것이 좋습니다.

개발

개발 중에 테스트 계정을 사용합니다.

테스트 계정 사용

테스트 계정은 실제로 광고를 게재하지 않는 Google Ads 계정입니다. 테스트 계정을 사용하여 Google Ads API를 실험하고 앱의 연결, 캠페인 관리 로직 또는 기타 처리가 예상대로 작동하는지 테스트할 수 있습니다. 테스트 계정에서 사용하기 위해 개발자 토큰을 승인받을 필요가 없으므로 앱이 검토되기 전이라도 개발자 토큰을 요청한 후 즉시 Google Ads API로 개발을 시작할 수 있습니다.