Resumen
Cross-Device Resume permite a los espectadores comenzar a ver un video en un dispositivo y, en un momento posterior, continuar viendo el video donde lo dejaron en el mismo dispositivo o en uno diferente.
Digamos que alguien comienza a ver un video en su dispositivo móvil. Más tarde, pueden seguir viendo el mismo video con un reproductor en su navegador web. La reproducción continuará donde la dejaron, para que no se pierdan nada.
Si no está familiarizado con esta función, consulte la descripción general: Currículum multidispositivo documento.
Requisitos
Los siguientes requisitos son necesarios para la reanudación entre dispositivos con los SDK nativos de Brightcove:
Versión del SDK nativo de Brightcove
- SDK nativo para Android 6.13.1+
- SDK nativo para iOS 6.0.1+, para Pulse 6.7.5+, para SSAI 6.7.7+
Versión del sistema operativo del dispositivo
- Android 6.0 o superior
- iOS 11.0+
Configuración
Esta función está disponible para cualquier persona que tenga una cuenta de Brightcove Video Cloud.
Para comenzar, haga lo siguiente
- Comuníquese con su administrador de cuentas para habilitar su cuenta para el currículum vitae multidispositivo
- Asegúrese de que los videos que está utilizando se hayan ingerido para Dynamic Delivery
Implementación de currículum vitae multidispositivo
Para implementar el currículum en varios dispositivos, siga estos pasos:
-
Establecer el identificador de usuario para Brightcove Analytics
Aunque los datos del espectador se envían a Brightcove Analytics automáticamente, debe configurar el identificador de usuario.
Puede utilizar una puerta de enlace de autenticación o alguna solución de gestión de identidad para realizar un seguimiento de los espectadores. Utilice este ID de visor como identificador de usuario para pasar a Brightcove Analytics.
-
Obtenga la posición de reproducción del espectador desde la API de reanudación entre dispositivos (XDR)
- Reanudar la reproducción
Implementación de Android
Para el SDK nativo para Android, siga estos pasos:
-
Establezca el identificador de usuario para Brightcove Analytics.
HashMap<String, String> baseParams = new HashMap<>(); baseParams.put(Analytics.Fields.USER, "viewer id"); baseParams.put(Analytics.Fields.APPLICATION_ID, "application id"); HashMap<String, Object> eventParams = new HashMap<>(); eventParams.put(Analytics.Fields.BASE_PARAMS, baseParams); eventEmitter.emit(EventType.ADD_ANALYTICS_BASE_PARAMS, eventParams);
-
Obtenga la posición de reproducción del espectador desde la API de reanudación entre dispositivos (XDR).
Para obtener más información, consulte lo siguiente:
-
Reanudar la reproducción.
Una vez que obtenga la posición de reproducción del visor de la API XDR, puede reanudar la reproducción desde ese punto. Establezca la posición del cabezal de reproducción con el
brightcoveVideoView.seekTo()
método.final VideoPlaybackController playbackController = brightcoveVideoView.getPlaybackController(); eventEmitter.on(EventType.VIDEO_DURATION_CHANGED, new EventListener() { @Override public void processEvent(final Event event) { playbackController.setAdsDisabled(true); brightcoveVideoView.seekTo(<viewer playhead position>); } }); eventEmitter.on(EventType.DID_SEEK_TO, new EventListener() { @Override public void processEvent(final Event event) { playbackController.setAdsDisabled(false); } });
Implementación de iOS
Para el SDK nativo para iOS, siga estos pasos:
-
Establezca el identificador de usuario para Brightcove Analytics.
@try { [BCOVGlobalConfiguration.sharedConfig setValue:@{ @"privateUser": self.viewer id, @"privateApplication": @"application id" } forKey:@"privateSessionAnalytics"]; } @catch (NSException *e) { NSLog(@"%@", e.description); }
-
Obtenga la posición de reproducción del espectador desde la API de reanudación entre dispositivos (XDR).
Para obtener más información, consulte lo siguiente:
-
Reanudar la reproducción.
Una vez que obtenga la posición de reproducción del visor de la API XDR, puede reanudar la reproducción desde ese punto. Establezca la posición del cabezal de reproducción con el siguiente método:
-[BCOVPlaybackController seekWithoutAds:(CMTime)seekToTime completionHandler:(void (^)(BOOL finished))completion]
Esto le permite reanudar la reproducción en un momento específico sin obligar al espectador a ver anuncios programados antes.
seekToTime
.En preparación para
seekWithoutAds:completionHandler:
, desactivarautoPlay
al configurar elBCOVPlaybackController
.Apple recomienda esperar el estado de un
AVPlayerItem
para cambiar a Ready-to-play antes de usar elAVPlayerItem
. Por lo tanto, llamaseekWithoutAds:completionHandler:
en elkBCOVPlaybackSessionLifecycleEventReady
manejador de laplaybackController:playbackSession:didReceiveLifecycleEvent
método de tuBCOVPlaybackControllerDelegate
.Para obtener detalles sobre la búsqueda sin anuncios, consulte lo siguiente:
- IMA
- Rueda libre
- Pulse implementa la búsqueda sin anuncios de la misma manera que IMA o FreeWheel
- SSAI