bitmovin-player-react-native 1.10.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/android/build.gradle +2 -2
- package/build/advertising.d.ts +4 -0
- package/build/advertising.d.ts.map +1 -1
- package/build/advertising.js +4 -0
- package/build/advertising.js.map +1 -1
- package/ios/FairplayContentKeyRequestRegistry.swift +1 -0
- package/ios/RCTConvert+BitmovinPlayer.swift +4 -0
- package/package.json +3 -4
- package/src/advertising.ts +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.12.0] - 2026-03-13
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Update Bitmovin's native Android SDK version to `3.145.0+jason`
|
|
8
|
+
|
|
9
|
+
## [1.11.0] - 2026-03-05
|
|
10
|
+
### Added
|
|
11
|
+
- Support for streaming ads with the Bitmovin Advertising Module (BAM) via `AdSourceType.BITMOVIN` in `AdvertisingConfig` ad schedules. Note: on iOS, VMAP is currently not supported with BAM.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Update Bitmovin's native Android SDK version to `3.144.0+jason`
|
|
16
|
+
- Update Expo SDK version to `53.0.27`
|
|
17
|
+
|
|
3
18
|
## [1.10.0] - 2026-02-27
|
|
4
19
|
|
|
5
20
|
### Changed
|
package/android/build.gradle
CHANGED
|
@@ -108,6 +108,6 @@ dependencies {
|
|
|
108
108
|
|
|
109
109
|
// Bitmovin
|
|
110
110
|
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
|
|
111
|
-
implementation 'com.bitmovin.player:player:3.
|
|
112
|
-
implementation 'com.bitmovin.player:player-media-session:3.
|
|
111
|
+
implementation 'com.bitmovin.player:player:3.144.0+jason'
|
|
112
|
+
implementation 'com.bitmovin.player:player-media-session:3.144.0+jason'
|
|
113
113
|
}
|
package/build/advertising.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,EAAE;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,GAAG,EAAE,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,QAAQ,aAAa;IACrB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,EAAE;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,GAAG,EAAE,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
package/build/advertising.js
CHANGED
package/build/advertising.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB;;OAEG;IACH,6BAAe,CAAA;IACf;;OAEG;IACH,qCAAuB,CAAA;IACvB;;OAEG;IACH,6BAAe,CAAA;AACjB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB;;OAEG;IACH,6BAAe,CAAA;IACf;;OAEG;IACH,qCAAuB,CAAA;IACvB;;OAEG;IACH,6BAAe,CAAA;AACjB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACtB;;OAEG;IACH,qCAAqB,CAAA;IACrB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,mCAAmB,CAAA;IACnB;;OAEG;IACH,2CAA2B,CAAA;AAC7B,CAAC,EAjBW,YAAY,KAAZ,YAAY,QAiBvB","sourcesContent":["/**\n * Quartiles that can be reached during an ad playback.\n */\nexport enum AdQuartile {\n /**\n * Fist ad quartile.\n */\n FIRST = 'first',\n /**\n * Mid ad quartile.\n */\n MID_POINT = 'mid_point',\n /**\n * Third ad quartile.\n */\n THIRD = 'third',\n}\n\n/**\n * The possible types an `AdSource` can be.\n */\nexport enum AdSourceType {\n /**\n * Bitmovin Advertising Module.\n */\n BITMOVIN = 'bitmovin',\n /**\n * Google Interactive Media Ads.\n */\n IMA = 'ima',\n /**\n * Unknown ad source type.\n */\n UNKNOWN = 'unknown',\n /**\n * Progressive ad type.\n */\n PROGRESSIVE = 'progressive',\n}\n\n/**\n * Represents an ad source which can be assigned to an `AdItem`. An `AdItem` can have multiple `AdSource`s\n * as waterfalling option.\n */\nexport interface AdSource {\n /**\n * The ad tag / url to the ad manifest.\n */\n tag: string;\n /**\n * The `AdSourceType` of this `AdSource`.\n */\n type: AdSourceType;\n}\n\n/**\n * Represents an ad break which can be scheduled for playback.\n *\n * One single `AdItem` can have multiple `AdSource`s where all but the first act as fallback ad sources\n * if the first one fails to load. The start and end of an ad break are signaled via `AdBreakStartedEvent`\n * and `AdBreakFinishedEvent`.\n */\nexport interface AdItem {\n /**\n * The playback position at which the ad break is scheduled to start. Default value is \"pre\".\n *\n * Possible values are:\n * • \"pre\": pre-roll ad (for VoD and Live streaming)\n * • \"post\": post-roll ad (for VoD streaming only)\n * • fractional seconds: \"10\", \"12.5\" (mid-roll ad, for VoD and Live streaming)\n * • percentage of the entire video duration: \"25%\", \"50%\" (mid-roll ad, for VoD streaming only)\n * • timecode hh:mm:ss.mmm: \"00:10:30.000\", \"01:00:00.000\" (mid-roll ad, for VoD streaming only)\n */\n position?: string;\n /**\n * The `AdSource`s that make up this `AdItem`. The first ad source in this array is used as the main ad.\n * Subsequent ad sources act as a fallback, meaning that if the main ad source does not provide a\n * valid response, the subsequent ad sources will be utilized one after another.\n *\n * The fallback ad sources need to have the same `AdSourceType` as the main ad source.\n */\n sources: AdSource[];\n\n /**\n * The amount of seconds the ad manifest is loaded in advance\n * compared to when the ad break is scheduled for playback.\n *\n * Default value is 0.0\n *\n * @platform Android\n */\n preloadOffset?: number;\n}\n\n/**\n * Contains configuration values regarding the ads which should be played back by the player.\n */\nexport interface AdvertisingConfig {\n /**\n * The ad items that are scheduled when a new playback session is started via `Player.load()`.\n */\n schedule: AdItem[];\n /**\n * Configuration to customize Google IMA SDK integration.\n */\n ima?: ImaAdvertisingConfig;\n}\n\n/**\n * Configuration options applied to Google IMA SDK before initialization.\n */\nexport interface ImaAdvertisingConfig {\n /**\n * Invoked before the IMA SDK initializes, allowing mutation of the SDK settings.\n *\n * @param settings - Current IMA settings received from the native SDK.\n * @returns The settings object to apply. If omitted, the (mutated) `settings` argument is used.\n */\n beforeInitialization?: (settings: ImaSettings) => ImaSettings | void;\n}\n\n/**\n * Represents Google IMA SDK wide settings.\n */\nexport interface ImaSettings {\n /**\n * Publisher Provided Identification (PPID) sent with ad requests.\n */\n ppid?: string;\n /**\n * Language identifier in IETF BCP 47 format.\n */\n language: string;\n /**\n * Maximum allowed wrapper redirects. Default is `4`.\n */\n maxRedirects: number;\n /**\n * Enables background audio playback. Defaults to `false`.\n *\n * @platform iOS, tvOS\n */\n enableBackgroundPlayback?: boolean;\n /**\n * Player version identifier reported to IMA.\n */\n playerVersion?: string;\n /**\n * Session identifier used for frequency capping.\n */\n sessionId?: string;\n /**\n * Controls Same App Key usage.\n *\n * @platform iOS\n */\n sameAppKeyEnabled?: boolean;\n}\n\n/**\n * Contains the base configuration options for an ad.\n */\nexport interface AdConfig {\n /**\n * Specifies how many seconds of the main video content should be replaced by ad break(s).\n */\n replaceContentDuration: number;\n}\n\n/**\n * Holds various additional ad data.\n */\nexport interface AdData {\n /**\n * The average bitrate of the progressive media file as defined in the VAST response.\n */\n bitrate?: number;\n /**\n * The maximum bitrate of the streaming media file as defined in the VAST response.\n */\n maxBitrate?: number;\n /**\n * The MIME type of the media file or creative as defined in the VAST response.\n */\n mimeType?: string;\n /**\n * The minimum bitrate of the streaming media file as defined in the VAST response.\n */\n minBitrate?: number;\n}\n\n/**\n * Defines basic properties available for every ad type.\n */\nexport interface Ad {\n /**\n * The url the user should be redirected to when clicking the ad.\n */\n clickThroughUrl?: string;\n /**\n * Holds various additional `AdData`.\n */\n data?: AdData;\n /**\n * The height of the ad.\n */\n height: number;\n /**\n * Identifier for the ad. This might be autogenerated.\n */\n id?: string;\n /**\n * Determines whether an ad is linear, i.e. playback of main content needs to be paused for the ad.\n */\n isLinear: boolean;\n /**\n * The corresponding media file url for the ad.\n */\n mediaFileUrl?: string;\n /**\n * The width of the ad.\n */\n width: number;\n}\n\n/**\n * Contains information about an ad break.\n */\nexport interface AdBreak {\n /**\n * The ads scheduled for this `AdBreak`.\n */\n ads: Ad[];\n /**\n * The id of the corresponding `AdBreakConfig`. This will be auto-generated.\n */\n id: string;\n /**\n * The time in seconds in the media timeline the `AdBreak` is scheduled for.\n */\n scheduleTime: number;\n}\n"]}
|
|
@@ -318,6 +318,8 @@ extension RCTConvert {
|
|
|
318
318
|
return nil
|
|
319
319
|
}
|
|
320
320
|
switch json {
|
|
321
|
+
case "bitmovin":
|
|
322
|
+
return .bitmovin
|
|
321
323
|
case "ima":
|
|
322
324
|
return .ima
|
|
323
325
|
case "unknown":
|
|
@@ -641,6 +643,8 @@ extension RCTConvert {
|
|
|
641
643
|
return nil
|
|
642
644
|
}
|
|
643
645
|
switch adSourceType {
|
|
646
|
+
case .bitmovin:
|
|
647
|
+
return "bitmovin"
|
|
644
648
|
case .ima:
|
|
645
649
|
return "ima"
|
|
646
650
|
case .unknown:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bitmovin-player-react-native",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Official React Native bindings for Bitmovin's mobile Player SDKs.",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"license": "MIT",
|
|
57
57
|
"homepage": "https://bitmovin.com/video-player/react-native-sdk",
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@expo/config-plugins": "~10.1.2",
|
|
60
59
|
"expo-crypto": "~14.1.5",
|
|
61
60
|
"expo-keep-awake": "~14.1.4"
|
|
62
61
|
},
|
|
@@ -67,12 +66,12 @@
|
|
|
67
66
|
"eslint-config-expo": "~9.2.0",
|
|
68
67
|
"eslint-config-prettier": "^9.1.0",
|
|
69
68
|
"eslint-plugin-prettier": "^5.5.1",
|
|
70
|
-
"expo": "53.0.
|
|
69
|
+
"expo": "53.0.27",
|
|
71
70
|
"expo-module-scripts": "^4.1.9",
|
|
72
71
|
"lint-staged": "13.0.3",
|
|
73
72
|
"prettier": "^3.6.2",
|
|
74
73
|
"react": "19.0.0",
|
|
75
|
-
"react-native": "0.79.
|
|
74
|
+
"react-native": "0.79.6",
|
|
76
75
|
"typedoc": "^0.28.7",
|
|
77
76
|
"typescript": "~5.8.3"
|
|
78
77
|
},
|
package/src/advertising.ts
CHANGED