A diferencia de la implementación de video del cliente, donde se solicitan de manera independiente los anuncios y la transmisión de video por Internet, la implementación del servidor que se usa con inserción de anuncios dinámicos (DAI) solicita una sola transmisión, y los anuncios se unen de manera dinámica al contenido del video. Si se produce un error de servidor, la transmisión se puede bloquear, lo cual ocasiona una experiencia del usuario poco satisfactoria y pérdida de ingresos.
La inserción de anuncios dinámicos de Ad Manager le proporciona errores de HTTP cuando crea una transmisión y cuando la transmisión se está ejecutando; además, le permite especificar una transmisión de copia de seguridad en caso de no recibir una respuesta válida del servidor.
Cómo controlar errores de HTTP detectados durante la creación de una transmisión
Tipo de error | Recomendación |
---|---|
Errores 4XX (excepto 429) |
Cuando vea errores 4XX de HTTP, no recurra a las transmisiones sin procesar, ya que es probable que el cliente haya experimentado un error en esas instancias. Asegúrese de que la solicitud que está enviando al servidor sea correcta y contenga todos los parámetros obligatorios. |
Errores 429 o 5XX | Cuando vea errores 529 o 5XX de HTTP, recurra a las transmisiones de copia de seguridad sin procesar y sin monetización. En el SDK de IMA, estos errores se pueden detectar con un controlador de errores, y la transmisión predeterminada se puede cambiar a la transmisión de copia de seguridad. |
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];
}
Obtenga la URL de transmisión de copia de seguridad de un video on demand (VOD) o una transmisión en vivo
Su aplicación debería tener un mecanismo para obtener la URL de copia de seguridad de VOD y transmisiones lineales en vivo. En el caso de VOD, la transmisión de copia de seguridad debería ser el elemento ingestURL que se proporciona en el feed de MRSS. Para las transmisiones lineales en vivo, la transmisión de copia de seguridad debería ser la transmisión de contenido especificada en la IU de Ad Manager.
Cómo controlar errores de HTTP durante la ejecución de la transmisión
Si surge un error mientras se ejecuta la transmisión, no se recomienda resguardarse en la transmisión sin procesar. Ad Manager intenta corregir automáticamente la mayoría de los errores que encuentra. Sin embargo, en los casos en que el servidor no puede controlar un error, la transmisión deja de reproducirse. Si se detiene la transmisión, la aplicación debería iniciar una transmisión nueva. Si el error persiste, recurra a la transmisión sin procesar.
Valide su implementación de resguardo
Puede validar la implementación de resguardo con las siguientes transmisiones de muestra:
Formato de la transmisión | Clave del elemento |
---|---|
HLS | MSQJlB9VSgqJkGNv1mB0FA |
DASH | TrhaCde0R_uKzG_psucTww |
Estas transmisiones tienen fines de prueba y siempre generarán un error HTTP 429.
Conmutación por error automática de transmisiones lineales de DAI
En los casos inusuales en los que se genere un volumen inesperadamente alto para nuestro sistema, es posible que recurramos a una transmisión sin anuncios para algunos usuarios. En ese caso, el usuario verá contenido subyacente.
En caso de que no se puedan publicar transmisiones de resguardo (por ejemplo, si se especifica el reenvío de origen o autenticación, o bien si se solicita la exclusión de variantes para la transmisión), se muestra un código de respuesta 429 de HTTP, y la aplicación debe recurrir localmente a la transmisión sin procesar.