Display & Video 360 API를 사용하는 모든 애플리케이션에는 할당량 최적화가 필요합니다. 할당량 사용을 최적화하면 API 요청을 간소화하고 설정된 비율 한도를 초과할 때 반환되는 오류를 방지하여 성능을 개선할 수 있습니다.
이 페이지에서는 일반적인 권장사항을 자세히 설명하고 할당량 사용량을 줄이는 데 도움이 되는 Display & Video 360 API의 보조 기능을 강조 표시합니다.
여러 광고주에 대해 동시 요청
Display & Video 360 API의 대부분의 메서드는 URL에서 광고주를 지정합니다. 프로젝트 전체 할당량 외에도 동일한 광고주를 지정하여 호출할 때 이러한 메서드에 더 엄격한 '프로젝트당 광고주별' 비율 제한이 적용됩니다.
이 할당량에 맞게 최적화하려면 동시 요청을 서로 다른 광고주를 지정하는 요청으로 제한하세요.
pageSize
, filter
, orderBy
매개변수 활용
여러 리소스를 검색할 때는 get
메서드 대신 list
메서드를 사용하세요.
페이지 크기 제한으로 인해 list
호출은 여전히 많은 할당량을 사용할 수 있습니다.
pageSize
매개변수를 허용되는 최대 값으로 설정하여 모든 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 캐시 및 확인
Display & Video 360 API의 많은 작업에는 타겟팅 옵션 ID, Google 잠재고객 ID 등 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초 + 임의의 밀리초를 대기한 후 요청을 재시도합니다.
- 쿼리 객체가 업데이트되거나 최대 경과 시간이 도달할 때까지 이 패턴을 계속합니다.