A otimização de cotas é fundamental para qualquer aplicativo que use a API Display & Video 360. Otimizar o uso da cota melhora o desempenho simplificando as solicitações de API e ajudando a evitar erros retornados ao exceder os limites de taxa definidos.
Esta página detalha as práticas recomendadas gerais e destaca recursos complementares na API Display & Video 360 que podem ajudar a reduzir o uso da cota.
Fazer solicitações simultâneas a vários anunciantes.
A maioria dos métodos na API Display & Video 360 especifica um anunciante no URL. Além da cota de todo o projeto, limites de taxa"por anunciante por projeto" mais restritivos são aplicados a esses métodos ao fazer chamadas especificando o mesmo anunciante.
Para otimizar essa cota, limite as solicitações simultâneas àquelas que especificam diferentes anunciantes.
Use os parâmetros filter
e orderBy
Use métodos list
em vez de get
ao recuperar vários recursos.
No entanto, chamadas list
ainda podem consumir muita cota devido aos limites no tamanho
da página. Se você precisar recuperar apenas um subconjunto da resposta da lista completa, otimize o uso da cota usando os parâmetros opcionais filter
e
orderBy
.
O parâmetro filter
permite restringir os recursos recuperados pela chamada
list
àqueles com propriedades que respeitam determinadas expressões. Esse parâmetro é útil ao tentar recuperar:
- Um recurso específico com ID desconhecido, mas propriedades conhecidas. Se estiver pesquisando um recurso específico, você poderá filtrar a lista retornada pelas propriedades conhecidas do recurso desejado. Por exemplo, filtrar itens de linha por um
displayName
conhecido, criativos porcreativeType
esperados e origens de inventário porexchange
relevantes. - Recursos associados. Os recursos no Display & Video 360 geralmente são associados uns aos outros. É possível usar filtros para restringir os recursos retornados àqueles que tenham uma relação específica com outro. Por exemplo,
recuperar todos os pedidos de inserção abaixo de um
campaignId
específico e todos os criativos atribuídos a um item de linha. - Somente recursos que têm propriedades acionáveis. A funcionalidade da API permite
verificar facilmente o status dos recursos e reagir de maneira programática. Com
filtros, você pode utilizar chamadas
list
para extrair apenas os recursos que precisam de uma ação. Por exemplo, recuperar todos os itens de linha que mostram uma determinadalineItemWarningMessage
acionável, todos os pedidos de inserção que foram atualizados desde uma determinada data ou todos os criativos que apresentaram falhaapprovalStatus
.
O parâmetro orderBy
permite classificar os recursos recuperados por
propriedades específicas, crescentes ou decrescentes. orderBy
, especialmente quando
usado com filter
, pode ser usado para limitar o número de páginas que
precisam ser percorridas antes de encontrar um recurso específico. Ele também permite que você
tenha facilmente os limites máximos e mínimos de uma lista de recursos. Por exemplo, fazer um pedido
por updateTime
permite encontrar rapidamente os
itens de linha ou
pedidos de inserção atualizados mais recentemente de um anunciante.
Usar funções em massa e em todo o recurso
A API Display & Video 360 oferece várias funções em massa e de todos os recursos que executam diversas ações com uma única solicitação. Exemplos desses tipos de funções incluem:
- Edição em massa de sites que pertencem a um único
canal. Os canais podem ter milhares de sites atribuídos a eles. Em vez de gerenciar a lista de sites de um canal com solicitações
create
oudelete
individuais, você pode usar uma única solicitaçãobulkEdit
oureplace
para adicionar e remover vários sites ou substituir todo o conteúdo de um canal, respectivamente. - Gerenciar todo o pacote de segmentação de um anunciante. O pacote
de segmentação de um recurso é atribuído a vários tipos de segmentação. As funções de segmentação
no nível do recurso, como
listAssignedTargetingOptions
eeditAssignedTargetingOptions
no serviçoadvertisers
, permitem recuperar, criar e remover a segmentação em vários tipos em uma única solicitação. Isso reduz o custo da cota ao definir o pacote de segmentação de um anunciante para uma única solicitação. - Defina a mesma restrição de segmentação em vários itens de linha. Se você
precisar fazer as mesmas mudanças de segmentação em vários itens de linha de uma só vez,
use uma única solicitação
advertisers.lineItems.bulkEditAssignedTargetingOptions
. - Ativar ou pausar vários itens de linha. Os itens de linha precisam ser ativados após serem criados antes de começarem a ser veiculados. Se você estiver criando vários
itens de linha em rápida sucessão, poderá ativar todos eles com uma única
solicitação
advertisers.lineItems.bulkUpdate
. O mesmo método pode ser usado para pausar vários itens de linha e interromper a veiculação deles.
Armazenar em cache e verificar os IDs usados regularmente
Muitas operações na API Display & Video 360 exigem o uso de IDs de recursos que são recuperados por meio da própria API, incluindo IDs de opção de segmentação, IDs de público-alvo do Google e muito mais. Para evitar a recuperação dos IDs da API em todos os usos, recomendamos que você os armazene localmente.
No entanto, alguns recursos podem ser descontinuados, excluídos ou descontinuados. A tentativa de usar os IDs para esses recursos pode retornar um
erro. Portanto, recomendamos que você verifique todos os IDs armazenados em cache semanalmente
usando o método get
ou list
filtrado apropriado para confirmar se eles ainda podem
ser recuperáveis e têm o status esperado.
Implementar a espera exponencial para operações de longa duração
Ao pesquisar para ver se uma operação de longa duração, como uma tarefa de download do SDF, foi concluída, use uma estratégia de espera exponencial para reduzir a frequência e o número total de solicitações enviadas.
A espera exponencial é uma estratégia padrão de tratamento de erros para aplicativos de rede em que o cliente repete periodicamente as solicitações por um período crescente. Usada corretamente, a espera exponencial aumenta a eficiência do uso da largura de banda, reduz o número de solicitações necessárias para receber uma resposta bem-sucedida e maximiza a capacidade de solicitações em ambientes simultâneos.
É possível encontrar a estratégia de espera exponencial implementada com bibliotecas de cliente em nossos exemplos de código de download de SDF. O fluxo detalhado para a implementação da espera exponencial simples é o seguinte:
- Faça uma solicitação
sdfdownloadtasks.operations.get
para a API. - Recupere o objeto de operação.
- Se o campo
done
não for verdadeiro, você precisa repetir a solicitação. - Aguarde 5 segundos + um número aleatório de milissegundos e tente enviar a solicitação novamente.
- Se o campo
- Recupere o objeto de operação.
- Se o campo
done
não for verdadeiro, você precisa repetir a solicitação. - Aguarde 10 segundos + um número aleatório de milissegundos e tente enviar a solicitação novamente.
- Se o campo
- Recupere o objeto de operação.
- Se o campo
done
não for verdadeiro, você precisa repetir a solicitação. - Aguarde 20 segundos + um número aleatório de milissegundos e tente enviar a solicitação novamente.
- Se o campo
- Recupere o objeto de operação.
- Se o campo
done
não for verdadeiro, você precisa repetir a solicitação. - Aguarde 40 segundos + um número aleatório de milissegundos e tente enviar a solicitação novamente.
- Se o campo
- Recupere o objeto de operação.
- Se o campo
done
não for verdadeiro, você precisa repetir a solicitação. - Aguarde 80 segundos + um número aleatório de milissegundos e tente enviar a solicitação novamente.
- Se o campo
- Continue esse padrão até que o objeto de consulta seja atualizado ou até que o tempo máximo decorrido seja atingido.