Brightcove's Cross-Device Resume (XDR) feature allows viewers to start watching video on one device, pause the video, and then continue watching later on the same or a different device. When viewers resume playback, they'll continue watching where they left off. This provides a seamless viewing experience for a piece of content.
The XDR service stores viewing activity, including the most recent play position. This information is retrieved to resume playback on any device.
Brightcove's XDR feature:
- Integrates with your customer web site and mobile device apps
- Uses REST-based APIs and native language calls on desktop and mobile devices
- Works with content stored in your Video Cloud library
- Retains play position information for 90 days
- Meets GDPR and COPPA compliance
The following are required to use Cross-Device Resume:
- You must use the latest version of Brightcove Player and the Native SDKs that supports cross-device resume.
- You will need a server-side application to make the REST API request to get the playback position.
Contact your account manager to enable your account for cross-device resume.
This feature allows viewers to start watching on one device, pause it, and continue watching on another device.
As a viewer watches a video, the player continuously records the playhead position of the video being watched. This information is stored in the XDR API.
When the viewer resumes watching the video on a different device, the playhead position is retrieved from the XDR API. Playback resumes where the viewer left off.
To implement Cross-Device Resume, follow these steps:
Even though viewer data is sent to Brightcove analytics automatically, you need to set the viewer identifier in your app. For details, see the linked documents in step 3.
The information sent and stored in the XDR API will include:
account_id- Video Cloud account ID
viewer_id- ID of the viewer whose playheads are being saved
video_id- Video Cloud ID of the video(s) watched by the viewer
playhead_seconds- Current playhead position in seconds
Get a viewer's playback position by making a request to the XDR API. You will need a server-side application to make the REST API request for the playback position.
The request to the XDR API returns the playback position in seconds.
For details, see the following:
Resume playback in your application. For details, see the following:
Here are some frequently asked questions related to Cross-Device Resume.
Is the 30-second lag time consistent?
It’s up to 30s, but usually less.
If you switch devices before that, you’ll get the last known position, which will be 10s earlier.
Playhead changes are every 10s based on the engagement beacon frequency. It is not recorded based on any other events, so play/pause won’t affect the stored position.
Can the 90-day retention be overridden?
Why is a backend service needed?
The XDR service extracts position and user ID from the player engagement beacons and makes those available through an Oauth API.
How do I implement XDR for non-Brightcove player devices, like roku and smart TVs?
Using the Data collection API, you need to implement
video_engagement beacons, making sure to include the
Brightcove will automatically parse the playhead time from the engagement