概要
Cross-Device Resumeを使用すると、視聴者は1つのデバイスでビデオの視聴を開始し、後で別のデバイスで中断したところからビデオの視聴を続けることができます。
この機能に慣れていない場合は、「概要」を参照してください。クロスデバイス再開ドキュメント。
要件
Brightcove Native SDKを使用したクロスデバイスレジュームには、次の要件が必要です。
Brightcoveのネイティブ SDK バージョン
- Android6.13.1以降用のネイティブSDK
- iOS 6.0.1以降用のネイティブ SDK、Pulse 6.7.5以降用、SSAI 6.7.7以降の場合
デバイスOSのバージョン
- Android 6.0+
- iOS 11.0以降
セットアップ
この機能は、Brightcove 動画クラウドアカウントをお持ちの方であれば誰でも利用できます。
開始するには、次の操作を行います。
- アカウントでデバイスをまたいだ再開を有効にする場合は、アカウントマネージャーにお問い合わせください
- 使用している動画がダイナミック配信用に取り込まれていることを確認します
クロスデバイス再開の実装
クロスデバイス再開を実装するには、次の手順を実行します。
-
Brightcoveアナリティクスのユーザー ID を設定する
視聴者のデータは自動的に Brightcove アナリティクスに送信されますが、ユーザー ID を設定する必要があります。
認証ゲートウェイまたは一部の ID 管理ソリューションを使用して、閲覧者を追跡できます。このビューアIDをユーザー識別子として使用して、Brightcoveアナリティクスに渡します。
-
Cross-Device Resume(XDR)APIからビューアの再生位置を取得します
- 再生を再開する
Androidの実装
Android 用ネイティブ SDK の場合は、次の手順を実行します。
-
Brightcoveアナリティクスのユーザー ID を設定します。
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);
-
Cross-Device Resume(XDR)APIからビューアの再生位置を取得します。
詳細については、以下を参照してください。
-
再生を再開します。
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 用ネイティブ SDK の場合は、次の手順を実行します。
-
Brightcoveアナリティクスのユーザー ID を設定します。
@try { [BCOVGlobalConfiguration.sharedConfig setValue:@{ @"privateUser": self.viewer id, @"privateApplication": @"application id" } forKey:@"privateSessionAnalytics"]; } @catch (NSException *e) { NSLog(@"%@", e.description); }
-
Cross-Device Resume(XDR)APIからビューアの再生位置を取得します。
詳細については、以下を参照してください。
-
再生を再開します。
XDR APIからビューアの再生位置を取得すると、その時点から再生を再開できます。次の方法を使用して、再生ヘッドの位置を設定します。
-[BCOVPlaybackController seekWithoutAds:(CMTime)seekToTime completionHandler:(void (^)(BOOL finished))completion]
これにより、視聴者に以前にスケジュールされた広告を視聴させることなく、特定の時間に再生を再開できます。
seekToTime
。の準備のため
seekWithoutAds:completionHandler:
、autoPlay
を設定するときに無効にしますBCOVPlaybackController
。を使用する前に、のステータスが Read-to-play に変わるのを待っていることをお勧めします
AVPlayerItem
。AVPlayerItem
したがって、seekWithoutAds:completionHandler:
の中にkBCOVPlaybackSessionLifecycleEventReady
のハンドラーplaybackController:playbackSession:didReceiveLifecycleEvent
あなたの方法BCOVPlaybackControllerDelegate
。広告なしのシークについて詳しくは、以下をご覧ください。