Introduction
Currently, to play the contents we need to pass all the config data to the player. In this config there are some mandatory and options fields. This wiki explains those mandatory and optional fields.
- KN-63Getting issue details... STATUS
PDF player configuration
The following configuration is required to play the pdf content in player
context (Optional) : Additional data to the content
config (Optional) : Config object data to content play
metadata (Required) : Metadata gives a complete information about the content.
pdfPlayerConfig = { context?: Context; config?: Config; metadata: { _metadataObject_ // Some of the metadata fields are required. Mentioned in below 3.Metadata section } }
1. Context (Optional):
Context is an optional property for player config, if we want to send the context - the following table shows what are the fields is required to send the context.
Sample context object interface:
{ mode?: string; authToken?: string; sid?: string; did?: string; uid?: string; channel: string; pdata: Pdata; contextRollup?: ContextRollup; tags?: string[]; cdata?: Cdata[]; timeDiff?: number; objectRollup?: ObjectRollup; host?: string; endpoint?: string; dispatcher?: object; userData?: { firstName?: string; lastName?: string; }; }
Property name | Description | Optional/Required | Without field | Comment | Default | Code changes required | |
---|---|---|---|---|---|---|---|
1 |
| it is an | Required
| telemetry validation error | Default can be set from player side. Telemetry sdk will set by default |
| Yes |
2 |
| It is an | Required | telemetry validation error | Content player set it by default to |
| No |
3 |
| Producer data. It is an | Required { id: "in.ekstep", ver ? : "1.0", pid ? : "" } | telemetry validation error | Default can be set from player side. Telemetry sdk will set by default |
| Yes |
4 |
| To identify preview used by the user to play/edit/preview | Optional |
| Telemetry sdk will set by default as |
| No |
5 |
| It is an | Optional |
| Telemetry sdk will set by default as |
| No |
6 |
| It is an | Optional | It will generate from telemetry sdk | Telemetry sdk will set by default using fingerPrintJs | No | |
7 |
| It is an | Optional |
| Telemetry sdk will set by default as |
| No |
8 |
| It is an | Optional |
| Player will set default |
| No |
9 |
| Defines the content rollup data | Optional |
| Its a optional field in telemetry |
| No |
10 |
| Defines the content object data | Optional |
| Its a optional field in telemetry |
| No |
11 |
| It is an | Optional |
| Its a optional tags data |
| No |
12 |
| It is an | Optional [ "type", "id"] |
| This is an optional but - if we are passing the |
| No |
13 |
| It is an | Optional |
| Content Player set it as | “ | No |
14 |
| It defines the endpoint | Optional |
| Content Player set it as “ |
| No |
15 |
| Defines the user first name and last name | Optional | User first and lastname will not show in endpage | Default can be set from player side | { "firstName": "anoymous","lastName": ""} | Yes |
16 |
| Dispatcher is required to receive the player events. . | Optional | The parent will not see the player events. | dispatcher: { dispatch(event) { console.log(`Events from dispatcher: ${JSON.stringify(event)}`); } } |
| No |
2. Config (Optional)
All the configuration can be set by default from player side so this config object can be optional
sample config object interface:
"config"?: { "sideMenu"?: { "showShare"?: boolen; // show/hide share button in side menu. default value is true "showDownload"?: boolen; // show/hide download button in side menu. default value is true "showReplay"?: boolen; // show/hide replay button in side menu. default value is true "showExit"?: boolen; // show/hide exit button in side menu. default value is false "showPrint"?: boolen; // show/hide print button in side menu. default value is true } }
Property name | Description | Optional/Required | Default |
---|---|---|---|
| It is | optional |
|
| It is | optional |
|
| It is | optional |
|
| It is | optional |
|
| It is | optional |
|
3. Metadata (Required)
Metadata gives a complete information about the content.
Sample metadata object interface in online play:
"metadata": { "identifier": string; "name": string; "artifactUrl": string; "streamingUrl"?: string; }
In metadata the following properties are mandatory to play the content in ONLINE play.
Property name | Description | Without field | optional/Required | Comment |
---|---|---|---|---|
| It is | Unable to load the content error | Required | Its a unique content id so Its a required to log the telemetry and other data against contnet |
| It is | Unable to load the content error | Required | Its a required to show the name of the pdf while loading the pdf. |
| It is | Unable to load the content error | Required but optional if the artifactUrl is present | It is optional field. This is required if you want to load the streaming pdf url |
| It is a | Unable to load the content error | Required but optional if streamingUrl is preset | It is required to load the pdf file. |
Sample metadata object interface in offline play:
"metadata": { "identifier": string; "name": string; "artifactUrl": string; "basePath": string; "baseDir?": string; "streamingUrl"?: string; }
Following properties are mandatory to play the content OFFLINE play.
Property name | Description | Without field | Optional/Required | Comment |
---|---|---|---|---|
| It is | Unable to load the content error | Required | Its a required to show the name of the pdf while loading the pdf. |
| It is a | Content will not load offline | Required | It is required to know - the content is downloaded and can be play offline |
| It is a | Unable to load the content error | Required | It is required to load the pdf file. |
| It is | Unable to load the content error | Required but optional if | It is required to load the pdf file. |
| It is | Unable to load the content error | Required but optional if | It is required to load the pdf file. |