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.
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)
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);
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
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:
trackEvent(MediaHeartbeat.Event.AdSkip);
.Interruzione annuncio completata:
ChiamatrackEvent(MediaHeartbeat.Event.AdComplete);
Se questo passaggio è già stato eseguito come parte dell’ultima trackEvent:AdComplete
chiamata, è possibile ignorarlo.
Chiamata trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.