A diferencia de las implementaciones de vídeo que se hacen en el cliente, en las que los anuncios y la emisión de vídeo se solicitan de forma independiente, las implementaciones en el servidor que se usan con la inserción dinámica de anuncios (DAI) solicitan solamente una emisión, que contiene anuncios insertados dinámicamente en el contenido de vídeo. Si se produce un error en el servidor, la emisión puede quedar bloqueada, lo que no solo provoca que la experiencia de usuario sea deficiente, sino también una pérdida de ingresos.
La función de DAI de Ad Manager le proporciona errores de HTTP cuando se crea una emisión, así como cuando hay una activa, y le permite especificar una emisión de respaldo en caso de que no se reciba ninguna respuesta válida del servidor.
Controlar los errores HTTP detectados cuando se crea una emisión
Tipo de error | Recomendación |
---|---|
Errores 4XX (excepto el error 429) |
Cuando vea errores HTTP 4XX, no debe recurrir a las emisiones de respaldo sin procesar, ya que lo más probable en estos casos es que se haya producido un error en el cliente. Asegúrese de que la solicitud que envía al servidor es correcta y contiene todos los parámetros necesarios. |
Errores 429 o 5XX | Cuando vea errores HTTP 429 o HTTP 5XX, debe recurrir a la emisión de respaldo sin procesar, que no incluye anuncios monetizados. En el SDK de IMA, pueden detectarse con un gestor de errores, y la emisión predeterminada se puede cambiar por la de respaldo. |
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];
}
Obtener la URL de emisión de respaldo de un vídeo bajo demanda o una emisión en directo
Su aplicación debe tener un mecanismo para obtener la URL de la emisión de respaldo de las emisiones lineales en directo y de vídeo a la carta. En el caso de vídeos a la carta, la emisión de respaldo debe ser la ingestURL que se proporciona en el feed de MRSS. En las transmisiones lineales en directo, la emisión secundaria debe ser la de contenido que se especifica en la interfaz de usuario de Ad Manager.
Controlar los errores de HTTP cuando la emisión está en marcha
Si se produce un error cuando la emisión está en marcha, no se recomienda que recurra a la emisión sin procesar. Ad Manager intenta corregir automáticamente la mayoría de los errores que se encuentra. Sin embargo, en los casos en los que el servidor no es capaz de gestionar un error, deja de reproducirse la emisión. Si la emisión se detiene, la aplicación debería iniciar una nueva. Si el error persiste, debe recurrir a la emisión sin procesar.
Validar su implementación de respaldo
Puede validar su implementación de respaldo con las siguientes emisiones de muestra:
Formato de emisión | Clave del recurso |
---|---|
HLS | MSQJlB9VSgqJkGNv1mB0FA |
DASH | TrhaCde0R_uKzG_psucTww |
Estas emisiones se utilizan con fines de prueba y siempre devuelven un error HTTP 429.
Conmutación por error automática en emisiones lineales de DAI
En las contadas ocasiones en las que nuestro sistema recibe una importante cantidad de solicitudes que no esperaba, es posible que se muestre una emisión sin anuncios a algunos usuarios. En tal caso, los espectadores verán contenido subyacente.
Cuando no se pueden servir las emisiones de respaldo (por ejemplo, si se especifica autenticación o reenvío de origen o si se solicita la exclusión de variantes en la emisión), se sirve un código de respuesta HTTP 429 y la aplicación recurre a la emisión sin procesar.