Ottimizzazione delle quote

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

Questa pagina illustra le best practice generali e mette in evidenza le funzionalità supplementari nell'API Display & Video 360 che possono aiutarti a ridurre l'utilizzo della quota.

Effettuare richieste concorrenti 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, per questi metodi vengono applicati limiti di frequenza"per inserzionista per progetto" più restrittivi quando vengono effettuate chiamate che specificano lo stesso inserzionista.

Per eseguire l'ottimizzazione in base a questa quota, limita le richieste simultanee a quelle che specificano inserzionisti diversi.

Utilizza i parametri pageSize, filter e orderBy

Utilizza i metodi list anziché i metodi get per recuperare più risorse. A causa dei limiti relativi alle dimensioni delle pagine, le chiamate list possono comunque consumare molta quota.

Ottimizza tutte le richieste list impostando il parametro pageSize sul valore massimo consentito. La dimensione predefinita della pagina di un metodo, utilizzata quando il parametro non è impostato, potrebbe essere inferiore al valore massimo consentito e richiedere più richieste per recuperare un elenco esaustivo delle risorse.

Se devi recuperare solo un sottoinsieme della risposta dell'elenco completo, 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 determinate espressioni. Questo parametro è utile quando si tenta di recuperare:

  • Una risorsa specifica con un ID sconosciuto, ma con proprietà note. Se cerchi una risorsa specifica, puoi filtrare l'elenco restituito in base alle proprietà note della risorsa che ti interessa. Alcuni esempi sono il filtro degli elementi pubblicitari in base a un valore displayName noto, delle creatività in base al valore creativeType previsto e delle origini dell'inventario in base al valore 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 sono recuperare tutti gli ordini di inserzione sotto un determinato campaignId e tutte le creatività assegnate a un elemento pubblicitario.
  • Solo le risorse con proprietà strategiche. 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 solo le risorse in cui è necessaria un'azione. Alcuni esempi sono il recupero di tutti gli elementi pubblicitari che mostrano un determinato lineItemWarningMessage utile, tutti gli ordini di inserzione che sono stati aggiornati da una determinata data e ora o tutte le creatività con un approvalStatus non riuscito.

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 esaminare prima di trovare una risorsa specifica. Inoltre, ti consente di recuperare facilmente i limiti superiore e inferiore di un elenco di risorse. Ad esempio, l'ordinamento in base a updateTime ti consente di trovare rapidamente gli elementi pubblicitari o gli ordini di inserzione di un inserzionista aggiornati più di recente.

Utilizzare funzioni collettive e per l'intera risorsa

L'API Display & Video 360 offre una serie di funzioni collettive e per l'intera risorsa che eseguono numerose azioni con una singola richiesta. Ecco alcuni esempi di questo tipo di funzioni:

  • Modificare collettivamente i siti appartenenti a un singolo canale. Ai canali possono essere assegnati migliaia di siti. 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, rispettivamente, sostituire l'intero contenuto di un canale.
  • Gestire l'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 un'unica richiesta. In questo modo, si riduce il costo della quota per l'impostazione della suite di targeting di un inserzionista su una singola richiesta.
  • Impostare la stessa limitazione di targeting su più elementi pubblicitari. Se devi apportare le stesse modifiche al targeting in più elementi pubblicitari contemporaneamente, puoi farlo utilizzando una singola richiesta advertisers.lineItems.bulkEditAssignedTargetingOptions.
  • Attivazione o messa in pausa di più elementi pubblicitari. Gli elementi pubblicitari devono essere attivati dopo la creazione prima di iniziare la pubblicazione. Se crei più elementi pubblicitari in rapida successione, puoi attivarli tutti con una singola richiesta advertisers.lineItems.bulkUpdate. Lo stesso metodo può essere utilizzato per mettere in pausa più elementi pubblicitari e 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, inclusi gli ID opzione di targeting, gli ID segmento di pubblico di Google e altro ancora. Per evitare di recuperare gli ID dall'API a ogni utilizzo, ti consigliamo di memorizzarli localmente.

Tuttavia, alcune risorse possono essere ritirate, eliminate o rese non disponibili per l'utilizzo. Il tentativo di utilizzare gli ID di queste risorse potrebbe restituire un errore. Pertanto, ti consigliamo di controllare settimanalmente tutti gli ID memorizzati nella cache utilizzando il metodo get o list filtrato appropriato per verificare che sia ancora possibile recuperarli e che abbiano lo stato previsto.

Implementare il backoff esponenziale per le operazioni a lunga esecuzione

Durante il polling per verificare se un'operazione di lunga durata, come un'attività di download di SDF, è stata completata, utilizza una strategia di backoff esponenziale per ridurre la frequenza e il numero totale di richieste inviate.

Il backoff esponenziale è una strategia di gestione degli errori standard per le applicazioni di rete in cui il client riprova periodicamente le richieste per 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 positiva e massimizza il throughput delle richieste in ambienti concorrenziali.

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

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