CV multi-appareils avec les SDK natifs

Dans cette rubrique, vous apprendrez comment utiliser la reprise multipériphérique avec les kits SDK natifs Brightcove.

Aperçu

La reprise inter-appareils permet aux spectateurs de commencer à regarder une vidéo sur un appareil et de la reprendre ultérieurement là où ils l'ont laissée, sur le même appareil ou sur un appareil différent.

Disons que quelqu'un commence à regarder une vidéo sur son appareil mobile. Plus tard, ils peuvent continuer à regarder la même vidéo avec un lecteur sur leur navigateur Web. La lecture se poursuivra là où elle s'était arrêtée, pour ne rien manquer.

Si vous n'êtes pas familier avec cette fonctionnalité, reportez-vous à l' aperçu : CV multi-appareils document.

Exigences

Les conditions suivantes sont requises pour le CV multi-appareils avec les kits SDK natifs Brightcove :

Version du SDK natif Brightcove

  • SDK natif pour Android 6.13.1+
  • SDK natif pour iOS 6.0.1+, pour Pulse 6.7.5+, pour SSAI 6.7.7+

Version du système d'exploitation de l'appareil

  • Android 6.0+
  • iOS 11.0+

Configuration

Cette fonctionnalité est disponible pour toute personne disposant d'un compte Brightcove Video Cloud.

Pour commencer, procédez comme suit

  • Contactez votre responsable de compte pour activer votre compte pour le CV multi-appareils
  • Assurez-vous que les vidéos que vous utilisez sont ingérées pour la diffusion dynamique

Implémentation d'un CV multi-appareils

Pour implémenter un CV multiappareil, procédez comme suit :

  1. Définir l'identifiant utilisateur pour les analyses Brightcove

    Même si les données de la visionneuse sont envoyées automatiquement à Brightcove Analytics, vous devez définir l'identifiant de l'utilisateur.

    Vous pouvez utiliser une passerelle d'authentification ou une solution de gestion des identités pour garder une trace des téléspectateurs. Utilisez cet ID de visionneuse comme identifiant d'utilisateur à transmettre à Brightcove Analytics.

  2. Obtenez la position de lecture du spectateur à partir de l'API Cross-Device Resume (XDR)

  3. Reprendre la lecture

Implémentation Android

Pour le SDK natif pour Android, procédez comme suit :

  1. Définissez l'identifiant utilisateur pour les analyses Brightcove.

    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);
    
  2. Obtenez la position de lecture du spectateur à partir de l'API Cross-Device Resume (XDR).

    Pour plus de détails, voir les points suivants :

  3. Reprendre la lecture.

    Une fois que vous avez obtenu la position de lecture de la visionneuse à partir de l'API XDR, vous pouvez reprendre la lecture à partir de ce point. Réglez la position de la tête de lecture à l'aide du brightcoveVideoView.seekTo() méthode.

    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);
      }
    });
    

Implémentation iOS

Pour le SDK natif pour iOS, procédez comme suit :

  1. Définissez l'identifiant utilisateur pour les analyses Brightcove.

    @try
      {
        [BCOVGlobalConfiguration.sharedConfig setValue:@{
          @"privateUser": self.viewer id,
          @"privateApplication": @"application id"
        }
        forKey:@"privateSessionAnalytics"];
      }
      @catch (NSException *e)
      {
        NSLog(@"%@", e.description);
      }
    
  2. Obtenez la position de lecture du spectateur à partir de l'API Cross-Device Resume (XDR).

    Pour plus de détails, voir les points suivants :

  3. Reprendre la lecture.

    Une fois que vous avez obtenu la position de lecture de la visionneuse à partir de l'API XDR, vous pouvez reprendre la lecture à partir de ce point. Définissez la position de la tête de lecture à l'aide de la méthode suivante :

    -[BCOVPlaybackController seekWithoutAds:(CMTime)seekToTime completionHandler:(void (^)(BOOL finished))completion]
    

    Cela vous permet de reprendre la lecture à une heure précise sans forcer le spectateur à regarder les publicités programmées avant seekToTime.

    En prévision de seekWithoutAds:completionHandler:, désactivez-le autoPlay lors de la configuration du BCOVPlaybackController.

    Apple recommande d'attendre le statut d'un AVPlayerItem passer en mode prêt-à-jouer avant d'utiliser le AVPlayerItem. Par conséquent, appelez seekWithoutAds:completionHandler: dans le kBCOVPlaybackSessionLifecycleEventReady gestionnaire de la playbackController:playbackSession:didReceiveLifecycleEvent méthode de votre BCOVPlaybackControllerDelegate.

    Pour plus d'informations sur la recherche sans publicité, consultez les sections suivantes :

    • IMA
    • Roue libre
    • Pulse implémente la recherche sans publicité de la même manière que IMA ou FreeWheel
    • SSAI