bitmovin-player-react-native 1.0.0-alpha.3 → 1.0.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 +18 -0
- package/android/gradle.properties +1 -1
- package/package.json +2 -2
- package/plugin/build/{FeatureFlags.d.ts → Features.d.ts} +1 -1
- package/plugin/build/index.d.ts +3 -3
- package/plugin/build/withBitmovinAndroidConfig.d.ts +2 -2
- package/plugin/build/withBitmovinConfig.d.ts +30 -2
- package/plugin/build/withBitmovinConfig.js +28 -0
- package/plugin/build/withBitmovinIosConfig.d.ts +2 -2
- package/plugin/src/{FeatureFlags.ts → Features.ts} +1 -1
- package/plugin/src/index.ts +2 -2
- package/plugin/src/withBitmovinAndroidConfig.ts +2 -2
- package/plugin/src/withBitmovinConfig.ts +31 -3
- package/plugin/src/withBitmovinIosConfig.ts +2 -2
- package/plugin/tsconfig.tsbuildinfo +1 -1
- /package/plugin/build/{FeatureFlags.js → Features.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.0] - 2025-08-04
|
|
4
|
+
|
|
5
|
+
### Breaking Change
|
|
6
|
+
|
|
7
|
+
- Introduction of Expo SDK support. Upgrading requires following the [Migration Guide](https://developer.bitmovin.com/playback/docs/react-native-migrating-to-v1).
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- React Native New Architecture Support
|
|
12
|
+
- Expo Config Plugin to manage native configuration from `app.config.ts`.
|
|
13
|
+
- Automatic configuration for Google Cast, Offline, Picture-in-Picture, AirPlay, and Background Playback through Expo plugin.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Minimum iOS/tvOS version is now 15.1+ (was 14.0+).
|
|
18
|
+
- Minimum Android SDK version is now 24 (was 21).
|
|
19
|
+
- Native setup is now automated through Expo SDK - manual configuration is no longer required for v1.0.0+.
|
|
20
|
+
|
|
3
21
|
## [0.44.0] - 2025-07-25
|
|
4
22
|
|
|
5
23
|
### Changed
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
android.useAndroidX=true
|
|
2
2
|
# Also update example/android/gradle.properties and integration_test/android/gradle.properties when updating kotlin version.
|
|
3
3
|
BitmovinPlayerReactNative_kotlinVersion=1.9.21
|
|
4
|
-
BitmovinPlayerReactNative_minSdkVersion=
|
|
4
|
+
BitmovinPlayerReactNative_minSdkVersion=24
|
|
5
5
|
BitmovinPlayerReactNative_targetSdkVersion=35
|
|
6
6
|
BitmovinPlayerReactNative_compileSdkVersion=35
|
|
7
7
|
BitmovinPlayerReactNative_buildToolsVersion=34.0.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bitmovin-player-react-native",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.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",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"brew": "[ \"$(uname)\" != Darwin ] || brew bundle install",
|
|
33
33
|
"docs": "typedoc",
|
|
34
34
|
"pods": "yarn example pods #&& yarn integration-test pods",
|
|
35
|
-
"bootstrap": "yarn brew && yarn build && yarn example bootstrap && yarn integration-test bootstrap && yarn setup-hooks",
|
|
35
|
+
"bootstrap": "yarn install && yarn brew && yarn build && yarn example bootstrap && yarn integration-test bootstrap && yarn setup-hooks",
|
|
36
36
|
"integration-test": "yarn --cwd integration_test"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
package/plugin/build/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
export { FeatureFlags };
|
|
1
|
+
import Features from './Features';
|
|
2
|
+
export { Features as FeatureFlags };
|
|
3
3
|
declare const _default: import("expo/config-plugins").ConfigPlugin<{
|
|
4
4
|
playerLicenseKey: string;
|
|
5
|
-
featureFlags:
|
|
5
|
+
featureFlags: Features;
|
|
6
6
|
}>;
|
|
7
7
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConfigPlugin } from 'expo/config-plugins';
|
|
2
|
-
import
|
|
2
|
+
import Features from './Features';
|
|
3
3
|
declare const withBitmovinAndroidConfig: ConfigPlugin<{
|
|
4
4
|
playerLicenseKey: string;
|
|
5
|
-
features:
|
|
5
|
+
features: Features;
|
|
6
6
|
}>;
|
|
7
7
|
export default withBitmovinAndroidConfig;
|
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
import { ConfigPlugin } from 'expo/config-plugins';
|
|
2
|
-
import
|
|
2
|
+
import Features from './Features';
|
|
3
|
+
/**
|
|
4
|
+
* Expo Config Plugin for Bitmovin Player.
|
|
5
|
+
* This plugin configures the Bitmovin Player for both iOS and Android platforms.
|
|
6
|
+
* It accepts a player license key and feature flags to customize the player's behavior.
|
|
7
|
+
* @param config - The Expo config object.
|
|
8
|
+
* @param options - An object containing the player license key and feature flags.
|
|
9
|
+
* @returns The modified Expo config object with Bitmovin Player configurations.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // app.config.js
|
|
13
|
+
* module.exports = {
|
|
14
|
+
* plugins: [
|
|
15
|
+
* [
|
|
16
|
+
* 'bitmovin-player-react-native',
|
|
17
|
+
* {
|
|
18
|
+
* playerLicenseKey: 'YOUR_BITMOVIN_PLAYER_LICENSE_KEY',
|
|
19
|
+
* featureFlags: {
|
|
20
|
+
* airPlay: true,
|
|
21
|
+
* backgroundPlayback: true,
|
|
22
|
+
* googleCastSDK: { android: '21.3.0', ios: '4.8.1.2' },
|
|
23
|
+
* offline: true,
|
|
24
|
+
* pictureInPicture: true,
|
|
25
|
+
* },
|
|
26
|
+
* },
|
|
27
|
+
* ]
|
|
28
|
+
* ]
|
|
29
|
+
* };
|
|
30
|
+
*/
|
|
3
31
|
declare const withBitmovinConfig: ConfigPlugin<{
|
|
4
32
|
playerLicenseKey: string;
|
|
5
|
-
featureFlags:
|
|
33
|
+
featureFlags: Features;
|
|
6
34
|
}>;
|
|
7
35
|
export default withBitmovinConfig;
|
|
@@ -12,6 +12,34 @@ const defaultFeatureFlags = {
|
|
|
12
12
|
offline: false,
|
|
13
13
|
pictureInPicture: false,
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Expo Config Plugin for Bitmovin Player.
|
|
17
|
+
* This plugin configures the Bitmovin Player for both iOS and Android platforms.
|
|
18
|
+
* It accepts a player license key and feature flags to customize the player's behavior.
|
|
19
|
+
* @param config - The Expo config object.
|
|
20
|
+
* @param options - An object containing the player license key and feature flags.
|
|
21
|
+
* @returns The modified Expo config object with Bitmovin Player configurations.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // app.config.js
|
|
25
|
+
* module.exports = {
|
|
26
|
+
* plugins: [
|
|
27
|
+
* [
|
|
28
|
+
* 'bitmovin-player-react-native',
|
|
29
|
+
* {
|
|
30
|
+
* playerLicenseKey: 'YOUR_BITMOVIN_PLAYER_LICENSE_KEY',
|
|
31
|
+
* featureFlags: {
|
|
32
|
+
* airPlay: true,
|
|
33
|
+
* backgroundPlayback: true,
|
|
34
|
+
* googleCastSDK: { android: '21.3.0', ios: '4.8.1.2' },
|
|
35
|
+
* offline: true,
|
|
36
|
+
* pictureInPicture: true,
|
|
37
|
+
* },
|
|
38
|
+
* },
|
|
39
|
+
* ]
|
|
40
|
+
* ]
|
|
41
|
+
* };
|
|
42
|
+
*/
|
|
15
43
|
const withBitmovinConfig = (config, { playerLicenseKey, featureFlags }) => {
|
|
16
44
|
const features = { ...defaultFeatureFlags, ...(featureFlags || {}) };
|
|
17
45
|
config = (0, withBitmovinIosConfig_1.default)(config, { playerLicenseKey, features });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConfigPlugin } from 'expo/config-plugins';
|
|
2
|
-
import
|
|
2
|
+
import Features from './Features';
|
|
3
3
|
declare const withBitmovinIosConfig: ConfigPlugin<{
|
|
4
4
|
playerLicenseKey: string;
|
|
5
|
-
features:
|
|
5
|
+
features: Features;
|
|
6
6
|
}>;
|
|
7
7
|
export default withBitmovinIosConfig;
|
package/plugin/src/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRunOncePlugin } from 'expo/config-plugins';
|
|
2
2
|
import withBitmovinConfig from './withBitmovinConfig';
|
|
3
|
-
import
|
|
3
|
+
import Features from './Features';
|
|
4
4
|
|
|
5
5
|
// Keeping the name, and version in sync with it's package.
|
|
6
6
|
const pkg = require('../../package.json');
|
|
7
7
|
|
|
8
|
-
export { FeatureFlags };
|
|
8
|
+
export { Features as FeatureFlags };
|
|
9
9
|
export default createRunOncePlugin(withBitmovinConfig, pkg.name, pkg.version);
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
withAndroidManifest,
|
|
5
5
|
withGradleProperties,
|
|
6
6
|
} from 'expo/config-plugins';
|
|
7
|
-
import
|
|
7
|
+
import Features from './Features';
|
|
8
8
|
import withAppGradleDependencies from './withAppGradleDependencies';
|
|
9
9
|
|
|
10
10
|
type ManifestActivity = AndroidConfig.Manifest.ManifestActivity;
|
|
11
11
|
|
|
12
12
|
const withBitmovinAndroidConfig: ConfigPlugin<{
|
|
13
13
|
playerLicenseKey: string;
|
|
14
|
-
features:
|
|
14
|
+
features: Features;
|
|
15
15
|
}> = (config, { playerLicenseKey, features }) => {
|
|
16
16
|
const offlineFeatureConfig =
|
|
17
17
|
typeof features.offline === 'object'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ConfigPlugin } from 'expo/config-plugins';
|
|
2
2
|
import withBitmovinIosConfig from './withBitmovinIosConfig';
|
|
3
|
-
import
|
|
3
|
+
import Features from './Features';
|
|
4
4
|
import withBitmovinAndroidConfig from './withBitmovinAndroidConfig';
|
|
5
5
|
|
|
6
|
-
const defaultFeatureFlags:
|
|
6
|
+
const defaultFeatureFlags: Features = {
|
|
7
7
|
airPlay: false,
|
|
8
8
|
backgroundPlayback: false,
|
|
9
9
|
googleCastSDK: undefined,
|
|
@@ -11,9 +11,37 @@ const defaultFeatureFlags: FeatureFlags = {
|
|
|
11
11
|
pictureInPicture: false,
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Expo Config Plugin for Bitmovin Player.
|
|
16
|
+
* This plugin configures the Bitmovin Player for both iOS and Android platforms.
|
|
17
|
+
* It accepts a player license key and feature flags to customize the player's behavior.
|
|
18
|
+
* @param config - The Expo config object.
|
|
19
|
+
* @param options - An object containing the player license key and feature flags.
|
|
20
|
+
* @returns The modified Expo config object with Bitmovin Player configurations.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // app.config.js
|
|
24
|
+
* module.exports = {
|
|
25
|
+
* plugins: [
|
|
26
|
+
* [
|
|
27
|
+
* 'bitmovin-player-react-native',
|
|
28
|
+
* {
|
|
29
|
+
* playerLicenseKey: 'YOUR_BITMOVIN_PLAYER_LICENSE_KEY',
|
|
30
|
+
* featureFlags: {
|
|
31
|
+
* airPlay: true,
|
|
32
|
+
* backgroundPlayback: true,
|
|
33
|
+
* googleCastSDK: { android: '21.3.0', ios: '4.8.1.2' },
|
|
34
|
+
* offline: true,
|
|
35
|
+
* pictureInPicture: true,
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
38
|
+
* ]
|
|
39
|
+
* ]
|
|
40
|
+
* };
|
|
41
|
+
*/
|
|
14
42
|
const withBitmovinConfig: ConfigPlugin<{
|
|
15
43
|
playerLicenseKey: string;
|
|
16
|
-
featureFlags:
|
|
44
|
+
featureFlags: Features;
|
|
17
45
|
}> = (config, { playerLicenseKey, featureFlags }) => {
|
|
18
46
|
const features = { ...defaultFeatureFlags, ...(featureFlags || {}) };
|
|
19
47
|
config = withBitmovinIosConfig(config, { playerLicenseKey, features });
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
withInfoPlist,
|
|
4
4
|
withPodfileProperties,
|
|
5
5
|
} from 'expo/config-plugins';
|
|
6
|
-
import
|
|
6
|
+
import Features from './Features';
|
|
7
7
|
|
|
8
8
|
const isTV = !!process.env.EXPO_TV;
|
|
9
9
|
|
|
10
10
|
const withBitmovinIosConfig: ConfigPlugin<{
|
|
11
11
|
playerLicenseKey: string;
|
|
12
|
-
features:
|
|
12
|
+
features: Features;
|
|
13
13
|
}> = (config, { playerLicenseKey, features }) => {
|
|
14
14
|
const offlineFeatureConfig =
|
|
15
15
|
typeof features.offline === 'object'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/
|
|
1
|
+
{"root":["./src/Features.ts","./src/index.ts","./src/withAppGradleDependencies.ts","./src/withBitmovinAndroidConfig.ts","./src/withBitmovinConfig.ts","./src/withBitmovinIosConfig.ts"],"version":"5.8.3"}
|
|
File without changes
|