A differenza di ciò che avviene con un'implementazione video lato client, dove il video stream e gli annunci vengono richiesti in modo indipendente l'uno dall'altro, l'implementazione lato server utilizzata con l'inserimento di annunci dinamici (DAI) richiede un unico stream con annunci uniti in modo dinamico ai contenuti video. Se si verifica un errore del server, lo stream può essere bloccato, il che non comporta solo un'esperienza utente insoddisfacente, ma produce anche una perdita di entrate.
La funzionalità DAI di Ad Manager restituisce gli errori HTTP quando crei uno stream oppure quando lo stream è in esecuzione e ti consente di specificare uno stream di backup nel caso in cui il server non fornisca una risposta valida.
Gestire gli errori HTTP rilevati durante la creazione di uno stream
Tipo di errore | Consiglio |
---|---|
Errori 4XX (escluso 429) |
Quando vedi errori HTTP 4XX, non utilizzare stream non elaborati, in quanto il client probabilmente ha trovato un errore in queste istanze. Assicurati che la richiesta che invii al server sia corretta e contenga tutti i parametri necessari. |
Errori 429 o 5XX | Quando vedi errori HTTP 429 o HTTP 5XX, dovresti utilizzare lo stream di backup non elaborato, senza la monetizzazione. Nell'SDK IMA questi errori possono essere rilevati con un gestore di errori e puoi passare dallo stream predefinito allo stream di backup. |
TVOS
static NSString *const kBackupContentPath =
@"http://googleimadev‑vh.akamaihd.net/i/big_buck_bunny/bbb‑,480p,720p,1080p,.mov.csmil/"
@"master.m3u8";
- (void)streamManager:(IMAStreamManager *)streamManager
didReceiveError:(NSError *)error {
NSLog(@"Error: %@", error);
[self playBackupStream];
}
- (void)playBackupStream {
NSURL *contentURL = [NSURL URLWithString:kBackupContentPath];
self.playerViewController.player = [[AVPlayer alloc] initWithURL:contentURL];
[self.playerViewController.player play];
}
Recuperare l'URL dello stream di backup per un video on demand (VOD) o un live streaming
La tua app dovrebbe avere un meccanismo per recuperare l'URL di backup sia per stream VOD sia per stream lineari dal vivo. Nel caso di VOD, lo stream di backup deve essere l'ingestURL fornito nel feed MRSS. Per i lineari dal vivo, lo stream di backup deve essere lo stream di contenuti specificato nell'interfaccia utente di Ad Manager.
Gestire gli errori HTTP mentre lo stream è in esecuzione
Se riscontri un errore durante l'esecuzione dello stream, non è consigliabile utilizzare lo stream non elaborato. Ad Manager tenta automaticamente di correggere la maggior parte degli errori che incontra. Tuttavia, nei casi in cui il server non è in grado di gestire un errore, la riproduzione dello stream viene interrotta. Se lo stream viene interrotto, l'app deve avviarne uno nuovo. Se l'errore persiste, devi passare allo stream non elaborato.
Convalidare l'implementazione di riserva
Puoi convalidare l'implementazione dei contenuti di riserva utilizzando i seguenti stream di esempio:
Formato stream | Chiave asset |
---|---|
HLS | MSQJlB9VSgqJkGNv1mB0FA |
DASH | TrhaCde0R_uKzG_psucTww |
Questi stream vengono utilizzati ai fini di test e restituiscono sempre un errore HTTP 429.
Failover automatico degli stream lineari DAI
Nei rari casi in cui il volume del nostro sistema fosse inaspettatamente elevato, potremmo tornare a uno stream senza annunci per alcuni utenti. In questo caso, lo spettatore vedrà i contenuti sottostanti.
Nel caso in cui non sia possibile pubblicare stream di riserva (ad esempio se viene specificato l'inoltro autenticazione o l'inoltro origine o se è richiesta l'esclusione di varianti per lo stream), verrà pubblicato un codice di risposta HTTP 429 e l'applicazione dovrebbe utilizzare lo stream non elaborato presente localmente.