Ottimizzazione delle quote

L'ottimizzazione della quota è fondamentale per qualsiasi applicazione che utilizza l'API Display & Video 360. L'ottimizzazione dell'utilizzo delle quote migliora le prestazioni ottimizzando le richieste API e aiutando a evitare errori restituiti quando si superano i limiti di frequenza impostati.

Questa pagina descrive le best practice generali ed evidenzia le funzionalità supplementari dell'API Display & Video 360 che possono aiutarti a ridurre l'utilizzo della quota.

Effettuare richieste in parallelo a vari inserzionisti

La maggior parte dei metodi dell'API Display & Video 360 specifica un inserzionista nell'URL. Oltre alla quota a livello di progetto, vengono applicati limiti di frequenza"per inserzionista per progetto" più restrittivi per questi metodi quando si effettuano chiamate che specificano lo stesso inserzionista.

Per ottimizzare questa quota, limita le richieste in parallelo a quelle che specificano inserzionisti diversi.

Utilizza i parametri filter e orderBy

Usa i metodi list anziché get per recuperare più risorse. Tuttavia, le chiamate list possono ancora consumare molta quota a causa dei limiti relativi alle dimensioni delle pagine. Se devi recuperare solo un sottoinsieme della risposta completa dell'elenco, puoi ottimizzare l'utilizzo della quota sfruttando i parametri facoltativi filter e orderBy.

Il parametro filter consente di limitare le risorse recuperate dalla chiamata list a quelle le cui proprietà rispettano le espressioni specificate. Questo parametro è utile quando si cerca di recuperare:

  • Una risorsa specifica con un ID sconosciuto ma proprietà note. Se cerchi una risorsa specifica, puoi filtrare l'elenco restituito in base alle proprietà note della risorsa desiderata. Gli esempi includono il filtro degli elementi pubblicitari in base a un displayName noto, le creatività in base alla creativeType prevista e le origini dell'inventario in base alla exchange pertinente.
  • Risorse associate. Le risorse in Display & Video 360 sono spesso associate tra loro. Puoi utilizzare i filtri per limitare le risorse restituite a quelle che hanno una relazione specifica con un'altra. Alcuni esempi includono il recupero di tutti gli ordini di inserzione in una determinata campaignId e tutte le creatività assegnate a un elemento pubblicitario.
  • Solo le risorse con proprietà utilizzabili. La funzionalità dell'API consente di controllare facilmente lo stato delle risorse e di reagire in modo programmatico. Con i filtri, puoi utilizzare le chiamate list per ottenere risorse solo dove è necessaria un'azione. Alcuni esempi includono il recupero di tutti gli elementi pubblicitari che mostrano una determinata lineItemWarningMessage strategica, tutti gli ordini di inserzione che sono stati aggiornati da una determinata data/ora o tutte le creatività con errori approvalStatus.

Il parametro orderBy consente di ordinare le risorse recuperate in base a proprietà specifiche, in ordine crescente o decrescente. orderBy, soprattutto se utilizzato insieme a filter, può essere utilizzato per limitare il numero di pagine da attraversare prima di trovare una risorsa specifica. Inoltre, consente di recuperare facilmente i limiti superiore e inferiore di un elenco di risorse. Ad esempio, ordinare per updateTime ti consente di trovare rapidamente gli elementi pubblicitari o ordini di inserzione più aggiornati di un inserzionista.

Utilizzare funzioni collettive e a livello di risorsa

L'API Display & Video 360 offre una serie di funzioni collettive e a livello di risorsa che eseguono numerose azioni con una singola richiesta. Esempi di questi tipi di funzioni includono:

  • Modifica collettiva dei siti appartenenti a un solo canale. I canali possono avere migliaia di siti assegnati ai canali. Anziché gestire l'elenco dei siti di un canale con singole richieste create o delete, puoi utilizzare una singola richiesta bulkEdit o replace per aggiungere e rimuovere numerosi siti o per sostituire l'intero contenuto di un canale, rispettivamente.
  • Gestione dell'intera suite di targeting di un inserzionista. La suite di targeting di una risorsa viene assegnata a più tipi di targeting. Le funzioni di targeting a livello di risorsa, come listAssignedTargetingOptions e editAssignedTargetingOptions nel servizio advertisers, ti consentono di recuperare, creare e rimuovere il targeting in più tipi di targeting in una singola richiesta. Questo riduce il costo della quota dell'impostazione di una suite di targeting di un inserzionista su una singola richiesta.
  • Impostare la stessa limitazione di targeting per più elementi pubblicitari. Se devi apportare le stesse modifiche al targeting per più elementi pubblicitari contemporaneamente, puoi farlo con una singola richiesta advertisers.lineItems.bulkEditAssignedTargetingOptions.
  • Attivazione o messa in pausa di più elementi pubblicitari. Gli elementi pubblicitari devono essere attivati dopo essere stati creati prima di iniziare a essere pubblicati. Se crei più elementi pubblicitari in rapida successione, puoi attivarli tutti con un'unica richiesta advertisers.lineItems.bulkUpdate. Lo stesso metodo può essere utilizzato per mettere in pausa più elementi pubblicitari al fine di interromperne la pubblicazione.

Memorizza nella cache e controlla gli ID utilizzati regolarmente

Molte operazioni nell'API Display & Video 360 richiedono l'utilizzo di ID risorsa recuperati tramite l'API stessa, tra cui ID opzione di targeting, ID segmenti di pubblico Google e altro ancora. Per evitare di recuperare gli ID dall'API a ogni utilizzo, consigliamo di archiviare questi ID localmente.

Tuttavia, alcune risorse possono essere deprecate, eliminate o altrimenti non disponibili per l'uso. Il tentativo di utilizzare gli ID per queste risorse potrebbe restituire un errore. Di conseguenza, ti consigliamo di controllare tutti gli ID memorizzati nella cache ogni settimana utilizzando il metodo get appropriato o il metodo list filtrato per verificare che sia ancora recuperabile e che abbia lo stato previsto.

Implementare il backoff esponenziale per le operazioni a lunga esecuzione

Durante il polling per verificare se un'operazione a lunga esecuzione, ad esempio un'attività di download dei file SDF, è terminata, utilizza una strategia di backoff esponenziale per ridurre la frequenza e il numero totale di richieste inviate.

Il backoff esponenziale è una strategia standard di gestione degli errori per le applicazioni di rete in cui il client tenta periodicamente di ripetere le richieste in un periodo di tempo crescente. Se utilizzato correttamente, il backoff esponenziale aumenta l'efficienza dell'utilizzo della larghezza di banda, riduce il numero di richieste necessarie per ottenere una risposta riuscita e massimizza la velocità effettiva delle richieste in ambienti simultanei.

Puoi trovare la strategia di backoff esponenziale implementata con le librerie client nei nostri esempi di codici di download SDF. Il flusso dettagliato per l'implementazione di un backoff esponenziale semplice è il seguente:

  • Effettua una richiesta sdfdownloadtasks.operations.get all'API.
  • Recupera l'oggetto dell'operazione.
    • Se il campo done non è true, significa che devi riprovare a eseguire la richiesta.
    • Attendi 5 secondi + un numero casuale di millisecondi e riprova a inviare la richiesta.
  • Recupera l'oggetto dell'operazione.
    • Se il campo done non è true, significa che devi riprovare a eseguire la richiesta.
    • Attendi 10 secondi + un numero casuale di millisecondi e riprova a inviare la richiesta.
  • Recupera l'oggetto dell'operazione.
    • Se il campo done non è true, significa che devi riprovare a eseguire la richiesta.
    • Attendi 20 secondi + un numero casuale di millisecondi e riprova a inviare la richiesta.
  • Recupera l'oggetto dell'operazione.
    • Se il campo done non è true, significa che devi riprovare a eseguire la richiesta.
    • Attendi 40 secondi + un numero casuale di millisecondi e riprova a inviare la richiesta.
  • Recupera l'oggetto dell'operazione.
    • Se il campo done non è true, significa che devi riprovare a eseguire la richiesta.
    • Attendi 80 secondi + un numero casuale di millisecondi e riprova a inviare la richiesta.
  • Continua questo pattern finché l'oggetto della query non viene aggiornato o finché non viene raggiunto un tempo massimo.