Risoluzione principale:riproduzione tra annunci

PROBLEMA

In alcuni scenari di monitoraggio degli annunci, si potrebbero verificare main:play chiamate che si verificano inaspettatamente tra la fine di un annuncio e l’inizio dell’annuncio successivo. Se il ritardo tra la chiamata ad complete e la successiva chiamata ad start è superiore a 250 millisecondi, Media SDK tornerà a inviare main:play le chiamate. Se questo fallback main:play si verifica durante un’interruzione di annuncio pre-roll, la metrica di inizio contenuto potrebbe essere impostata in anticipo.

Uno spazio vuoto tra gli annunci come descritto in precedenza viene interpretato dall’SDK di Media come contenuto principale, perché non vi è alcuna sovrapposizione con alcun contenuto pubblicitario. L’SDK per file multimediali non contiene informazioni sugli annunci e il lettore è in stato di riproduzione. Se non sono presenti informazioni pubblicitarie e lo stato del lettore è in fase di riproduzione, per impostazione predefinita Media SDK attribuisce la durata dello spazio vuoto al contenuto principale. Non può accreditare la durata della riproduzione a informazioni di annunci nulli.

IDENTIFICAZIONE

Durante l’utilizzo di Adobe Debug o di un annusatore di pacchetti di rete come Charles, se durante un’interruzione di annuncio pre-roll vengono visualizzate le seguenti chiamate Heartbeat:

  • Avvio sessione: s:event:type=start & s:asset:type=main

  • Inizio annuncio: s:event:type=start & s:asset:type=ad

  • Riproduzione annuncio: s:event:type=play & s:asset:type=ad

  • Annuncio completo: s:event:type=complete & s:asset:type=ad

  • Riproduzione contenuto principale: s:event:type=play & s:asset:type=main(imprevisto)

  • Inizio annuncio: s:event:type=start & s:asset:type=ad

  • Riproduzione annuncio: s:event:type=play & s:asset:type=ad

  • Annuncio completo: s:event:type=complete & s:asset:type=ad

  • Riproduzione contenuto principale: s:event:type=play & s:asset:type=main(previsto)

RISOLUZIONE

Ritardo che attiva la chiamata Ad Complete.

Gestire il gap dall’interno del lettore chiamando trackEvent:AdComplete tardi per il primo annuncio, seguito immediatamente da trackEvent:AdStart per il secondo annuncio. L’app deve essere sospesa quando si chiama l’ AdComplete evento al termine del primo annuncio. Accertatevi di chiamare trackEvent:AdComplete l’ultimo annuncio nell’interruzione di annuncio. Se il lettore è in grado di identificare la risorsa dell’annuncio corrente come ultima nell’interruzione dell’annuncio, invoca trackEvent:AdComplete immediatamente. Con questa risoluzione, meno di un secondo del tempo aggiuntivo trascorso viene attribuito all’unità pubblicitaria precedente.

Avvio dell’interruzione dell’annuncio, compreso il pre-roll:

  • Creare l’istanza dell’ adBreak oggetto per l’interruzione annuncio; ad esempio, adBreakObject.

  • Chiamata trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);.

Per ogni avvio di risorse di annunci:

  • ChiamatrackEvent(MediaHeartbeat.Event.AdComplete);

    Nota

    Chiama questo solo se l’annuncio precedente non è stato completato. Considerate un valore booleano per mantenere lo stato “isinAd” dell’annuncio precedente.

  • Create l’istanza dell’oggetto annuncio per la risorsa annuncio: ad esempio, adObject.

  • Compilate i metadati dell’annuncio, adCustomMetadata.

  • Chiamata trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);.

  • Chiama trackPlay() se si tratta del primo annuncio in un annuncio pre-roll.

Per ogni risorsa annuncio completata:

  • Non effettuare una chiamata

    Nota

    Se l’applicazione sa che si tratta dell’ultimo annuncio nell’interruzione dell’annuncio, chiama trackEvent:AdComplete qui e salta l’impostazione trackEvent:AdComplete nel trackEvent:AdBreakComplete

Salta annuncio attivato:

  • Chiamata trackEvent(MediaHeartbeat.Event.AdSkip);.

Interruzione annuncio completata:

  • ChiamatrackEvent(MediaHeartbeat.Event.AdComplete);

    Nota

    Se questo passaggio è già stato eseguito come parte dell’ultima trackEvent:AdComplete chiamata, è possibile ignorarlo.

  • Chiamata trackEvent(MediaHeartbeat.Event.AdBreakComplete);.

In questa pagina