Video Preload Plugin
Introduction
This plugin provides your Application with capability to perform actions before the video playback will start. Currently the plugin supports 2 actions:
- Load additional information of an entry (additional metadata, secured stream sources, drm information, etc).
- Connect to your URL Signer Service to obtained signed stream url.
The flow could be explained in the following diagram:
Prerequisites
To be able to load items prior to playback, please make sure the Feed provided has the relevant structure set, and the link
object contains the self
attribute as explained here.
In order to connect the plugin to the URL Signing service, please make sure you followed the URL Signer Service guide.
App Set up
Endpoint and Feeds
In order to set the relevant feed on the plugin (in case you would like to use default URL), you should configure the endpoint for an entry feed in a similar way you configured all the other endpoints in the app. Configuring endpoints will allow you to set the relevant context keys that could be sent as part of the ctx
query param on each request. An example of a use-case could be blocked content which could be retrieved only with additional user token (provide content to authorized users only).
After setting the endpoint, go to the Feeds section and configure the relevant feed. You will most likely need to use Dynamic feeds with dynamic entry id (e.g.: https://example.com/videos/{{id}})
. The dynamic attribute could be pulled from the referrer that initiate the call (the item user clicked to watch the video, deep link triggered from outside the app, url scheme triggered from outside the app, etc).
When using a Signed URL Service, set the signing url endpoint to leverage ctx
keys on the request.
Plugin
Add the plugin Video Preload to the app version via the plugin configuration. Make sure you add the plugin to all relevant versions and platforms. Once added, a rebuild of the app will be required to be able to use this functionality.
Configure the Preload Video plugin parameters in the plugin configuration panel:
- Fetch Entry: Set this flag if you want to reload the entry using the
link.href
attribute set in the entry provided to the plugin (/integrations/feed-json-protocol.md#entrylink), or using the Default Entry Source. - Default Entry Source: If
Fetch Entry
is set, and you would like to use a default URL, you will need to provide the feed to be used by the plugin. Choose the relevant feed from the dropdown, and set the key attributes in case your feed includes dynamic values - this will be a default. The override value could be configured as part of the entry meta data. - Use Signing URLs Service: Set this flag if you want to connect to a URL signer service.
- Signer API - If
Use Signing URLs Service
is set, select the Source feed configured in the feed section. This will be used as the default url, and could be overridden ifsigner_api
is set on the entry extensions.
Screen
Add the Preload Video Screen in Zapp Studio.
This screen will allow you to set the plugin as a hook to the player.
Adding the Preload Video as a hook for video content
- In Zapp studio, make sure you add
Preload Video Screen
screen. - Once added, select the player screen and scroll down the configuration panel to the SCREEN STORYBOARD section. Select the
Preload Video
screen from the plugins dropdown. - Click on the
+
button and save the layout.