할당량 최적화는 Display & Video 360 API를 사용하는 모든 애플리케이션에 필수적입니다. 할당량 사용을 최적화하면 API 요청을 간소화하고 설정된 비율 제한을 초과할 때 반환되는 오류를 방지하여 성능이 개선됩니다.
이 페이지에서는 일반적인 권장사항을 자세히 설명하고 할당량 사용량을 줄이는 데 도움이 되는 Display & Video 360 API의 추가 기능을 중점적으로 설명합니다.
다양한 광고주에 대해 동시 요청 만들기
Display & Video 360 API의 대부분의 메서드는 URL에 광고주를 지정합니다. 동일한 광고주를 지정하여 호출할 때 이러한 메서드에는 프로젝트 전체 할당량 외에도 '광고주별' 비율 제한이 더 제한적입니다.
이 할당량에 맞게 최적화하려면 다른 광고주를 지정하는 사용자로 동시 요청을 제한하세요.
filter
및 orderBy
매개변수 활용
여러 리소스를 검색할 때 get
메서드 대신 list
메서드를 사용합니다.
그러나 list
호출은 페이지 크기 제한으로 인해 여전히 많은 할당량을 사용할 수 있습니다. 전체 목록 응답의 일부만 검색해야 하는 경우 선택사항인 filter
및 orderBy
매개변수를 활용하여 할당량 사용을 최적화할 수 있습니다.
filter
매개변수를 사용하면 list
호출로 검색된 리소스를 속성이 지정된 표현식을 준수하는 리소스로 제한할 수 있습니다. 이 매개변수는 다음을 검색하려고 할 때 유용합니다.
- ID는 알 수 없지만 속성이 알려진 특정 리소스. 특정 리소스를 검색하는 경우 원하는 리소스의 알려진 속성을 기준으로 반환된 목록을 필터링할 수 있습니다. 예를 들어 알려진
displayName
로 광고 항목을 필터링하고, 예상creativeType
로 광고 소재를 필터링하고, 관련exchange
로 인벤토리 소스를 필터링하는 것을 예로 들 수 있습니다. - 연결된 리소스. Display & Video 360의 리소스는 종종 서로 연결됩니다. 필터를 사용하여 반환되는 리소스를 다른 리소스와 특정한 관계가 있는 리소스로 제한할 수 있습니다. 예를 들어
특정
campaignId
아래에 있는 모든 게재 신청서와 광고 항목에 할당된 모든 광고 소재를 가져오는 것을 예로 들 수 있습니다. - 작업 가능한 속성이 있는 리소스만. API 기능을 사용하면 손쉽게 리소스의 상태를 확인하고 프로그래매틱 방식으로 대응할 수 있습니다. 필터를 사용하면
list
호출을 사용하여 작업이 필요한 리소스만 가져올 수 있습니다. 실행 가능한 특정lineItemWarningMessage
를 보여주는 모든 광고 항목, 지정된 날짜/시간 이후에 업데이트된 모든 게재 신청서 또는 실패한approvalStatus
모든 광고 소재를 검색하는 경우를 예로 들 수 있습니다.
orderBy
매개변수를 사용하면 검색된 리소스를 특정 속성(오름차순 또는 내림차순으로)을 정렬할 수 있습니다. orderBy
는 특히 filter
와 함께 사용할 때 특정 리소스를 찾기 전에 거쳐야 하는 페이지 수를 제한하는 데 사용할 수 있습니다. 또한 리소스 목록의 상한과 하한을 쉽게 가져올 수 있습니다. 예를 들어 updateTime
순으로 정렬하면 광고주의 가장 최근 업데이트된 광고 항목 또는 게재 신청서를 빠르게 찾을 수 있습니다.
일괄 및 리소스 전체 함수 사용
Display & Video 360 API는 단일 요청으로 수많은 작업을 실행하는 여러 일괄 및 리소스 전체 함수를 제공합니다. 이러한 종류의 함수의 예는 다음과 같습니다.
- 단일 채널에 속한 사이트 일괄 수정 채널에는 수천 개의 사이트가 할당될 수 있습니다. 개별
create
또는delete
요청으로 채널의 사이트 목록을 관리하는 대신 단일bulkEdit
또는replace
요청을 사용하여 여러 사이트를 추가 및 삭제하거나 채널의 전체 콘텐츠를 각각 교체할 수 있습니다. - 광고주의 전체 타겟팅 도구 관리. 리소스의 타겟팅 모음은 여러 타겟팅 유형에 할당됩니다.
advertisers
서비스의listAssignedTargetingOptions
및editAssignedTargetingOptions
와 같은 리소스 수준 타겟팅 함수를 사용하면 단일 요청으로 여러 타겟팅 유형의 타겟팅을 검색, 생성, 삭제할 수 있습니다. 이렇게 하면 광고주의 타겟팅 모음을 단일 요청으로 설정하는 할당량 비용이 절감됩니다. - 여러 광고 항목에 동일한 타겟팅 제한을 설정합니다. 한 번에 여러 광고 항목에서 동일한 타겟팅을 변경해야 하는 경우 단일
advertisers.lineItems.bulkEditAssignedTargetingOptions
요청을 사용하면 됩니다. - 여러 광고 항목 활성화 또는 일시중지: 광고 항목을 만든 후에 활성화해야
게재가 시작됩니다 여러 광고 항목을 연속으로 빠르게 만드는 경우 단일
advertisers.lineItems.bulkUpdate
요청으로 모든 광고 항목을 활성화할 수 있습니다. 동일한 방법으로 여러 광고 항목을 일시중지하여 게재를 중단할 수 있습니다.
정기적으로 사용하는 ID 캐시 및 확인
타겟팅 옵션 ID, Google 잠재고객 ID 등을 포함하여 Display & Video 360 API의 여러 작업에서 API 자체를 통해 검색되는 리소스 ID를 사용해야 합니다. 사용할 때마다 API에서 ID를 검색하지 않으려면 이러한 ID를 로컬에 저장하는 것이 좋습니다.
하지만 일부 리소스는 지원 중단되거나 삭제되거나 사용할 수 없게 될 수 있습니다. 이러한 리소스의 ID를 사용하려고 하면 오류가 반환될 수 있습니다. 따라서 적절한 get
또는 필터링된 list
메서드를 사용하여 모든 캐시된 ID를 매주 확인하여 아직 가져올 수 있고 예상되는 상태에 있는지 확인하는 것이 좋습니다.
장기 실행 작업에 지수 백오프 구현
SDF 다운로드 작업과 같은 장기 실행 작업이 완료되었는지 확인하기 위해 폴링하는 동안 지수 백오프 전략을 사용하여 전송 빈도와 총 요청 수를 줄입니다.
지수 백오프는 클라이언트에서 시간 간격을 늘려 요청을 주기적으로 재시도하는 네트워크 애플리케이션의 표준 오류 처리 전략입니다. 지수 백오프를 적절하게 사용하면 대역폭 사용량의 효율성을 높이고, 성공적인 응답을 얻는 데 필요한 요청 수를 줄이며, 동시 환경에서의 요청 처리량을 극대화할 수 있습니다.
SDF 다운로드 코드 예에서 클라이언트 라이브러리로 구현된 지수 백오프 전략을 확인할 수 있습니다. 간단한 지수 백오프를 구현하기 위한 단계별 흐름은 다음과 같습니다.
- API에
sdfdownloadtasks.operations.get
요청을 전송합니다. - 작업 객체를 검색합니다.
done
필드가 true가 아니면 요청을 재시도해야 함을 나타냅니다.- 5초에 임의의 밀리초를 더한 값을 대기하고 요청을 재시도합니다.
- 작업 객체를 검색합니다.
done
필드가 true가 아니면 요청을 재시도해야 함을 나타냅니다.- 10초 + 임의의 밀리초 동안 대기한 후 요청을 재시도합니다.
- 작업 객체를 검색합니다.
done
필드가 true가 아니면 요청을 재시도해야 함을 나타냅니다.- 20초 + 임의의 밀리초 동안 대기한 후 요청을 재시도합니다.
- 작업 객체를 검색합니다.
done
필드가 true가 아니면 요청을 재시도해야 함을 나타냅니다.- 40초 + 임의의 밀리초 동안 대기한 후 요청을 재시도합니다.
- 작업 객체를 검색합니다.
done
필드가 true가 아니면 요청을 재시도해야 함을 나타냅니다.- 80초 + 임의의 밀리초 동안 대기한 후 요청을 재시도합니다.
- 쿼리 객체가 업데이트되거나 최대 경과 시간에 도달할 때까지 이 패턴을 계속합니다.