使用原生 SDK 進行跨裝置恢復

在本主題中,您將學習如何搭配 Brightcove 原生 SDK 使用跨裝置履歷。

概覽

Cross-Device Resume 允許觀眾在一台設備上開始觀看視頻,稍後在同一台或另一台設備上繼續觀看他們離開的視頻。

假設有人開始在他們的移動設備上觀看視頻。稍後,他們可以繼續使用網絡瀏覽器上的播放器觀看同一視頻。播放將從他們中斷的地方繼續,所以他們不會錯過任何東西。

如果您不熟悉此功能,請參閱概觀:跨設備簡歷文件。

需求

使用 Brightcove 本機 SDK 的跨設備恢復需要滿足以下要求:

布萊特灣原生 SDK 版本

  • 適用於Android 6.13.1+的本機SDK
  • 適用於iOS 6.0.1+,適用於Pulse 6.7.5+,適用於SSAI 6.7.7+的本機SDK

裝置作業系統版本

  • 安卓 6.0 以上
  • iOS 11.0 以上

設定

擁有 Brightcove 視訊雲端帳戶的任何人都可以使用此功能。

首先,請執行以下操作

  • 聯繫您的客戶經理為您的帳戶啟用跨設備簡歷
  • 確定您使用的影片已擷取進行動態傳遞

實現跨設備簡歷

要實施跨設備恢復,請按照下列步驟操作:

  1. 設置Brightcove分析的用戶標識符

    即使瀏覽者資料會自動傳送至 Brightcove 分析,您仍需要設定使用者識別碼。

    您可以使用身份驗證網關或某些身份管理解決方案來跟踪查看者。使用此查看器 ID 作為用戶標識符以傳遞給 Brightcove 分析。

  2. 從跨設備恢復 (XDR) API 獲取查看器播放位置

  3. 繼續播放

安卓實作

對於適用於Android的Native SDK,請按照以下步驟操作:

  1. 設定布萊特灣分析的使用者識別碼。

    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. 從跨設備恢復 (XDR) API 獲取查看器播放位置。

    如需詳細資訊,請參閱下列內容:

  3. 繼續播放。

    從 XDR API 獲得查看器播放位置後,您可以從該點恢復播放。使用設置播放頭位置brightcoveVideoView.seekTo()方法。

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

iOS 實作

對於iOS的Native SDK,請按照以下步驟操作:

  1. 設定布萊特灣分析的使用者識別碼。

    @try
      {
        [BCOVGlobalConfiguration.sharedConfig setValue:@{
          @"privateUser": self.viewer id,
          @"privateApplication": @"application id"
        }
        forKey:@"privateSessionAnalytics"];
      }
      @catch (NSException *e)
      {
        NSLog(@"%@", e.description);
      }
    
  2. 從跨設備恢復 (XDR) API 獲取查看器播放位置。

    如需詳細資訊,請參閱下列內容:

  3. 繼續播放。

    從 XDR API 獲得查看器播放位置後,您可以從該點恢復播放。使用以下方法設置播放頭位置:

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

    這使您可以在特定時間恢復播放,而不必強迫觀看者觀看之前安排的廣告seekToTime .

    在準備seekWithoutAds:completionHandler:,禁用autoPlay設置時BCOVPlaybackController

    蘋果建議您等待手機的狀態AVPlayerItem在使用之前將其更改為準備播放AVPlayerItem。因此,請致電seekWithoutAds:completionHandler:在裡面kBCOVPlaybackSessionLifecycleEventReady的處理程序playbackController:playbackSession:didReceiveLifecycleEvent你的方法BCOVPlaybackControllerDelegate

    有關不帶廣告的搜索的詳細信息,請參閱以下內容: