Live Stream Support (React Native)
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
We support live stream on iOS by default. And you could also follow the instructions below to enhance the function of live stream.
Add the following codes in the Podfile
of your iOS project.
pod 'FireworkVideoIVSSupport', '0.9.0'
In your iOS project, you need to call FireworkVideoSDK.enableIVSPlayback()
in application(:, didFinishLaunchingWithOptions:) -> Bool
method.
import FireworkVideo
import FireworkVideoIVSSupport
import react_native_firework_sdk
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
FWReactNativeSDK.initializeSDK(nil)
FireworkVideoSDK.enableIVSPlayback()
return true
}
If your AppDelegate
class is written by Objective-C, you should create a Swift file to call the API. For example, you could create FireworkSupportLibraryBridge.swift
and add the following codes.
import Foundation
import FireworkVideo
import FireworkVideoIVSSupport
import react_native_firework_sdk
@objc
public class FireworkSupportLibraryBridge: NSObject {
@objc public static func initFireworkSDK() {
FWReactNativeSDK.initializeSDK(nil)
}
@objc public static func enableIVSPlayback() {
FireworkVideoSDK.enableIVSPlayback()
}
}
Then add [FireworkSupportLibraryBridge enableIVSPlayback];
on application:didFinishLaunchingWithOptions:
method.
// You should change the file to Objective-C Generated Interface Header name.
// Generally, it's "{TargetName}-Swift.h"
#import "FireworkSdkExample-Swift.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FireworkSupportLibraryBridge initFireworkSDK];
[FireworkSupportLibraryBridge enableIVSPlayback];
return YES;
}
Unlike iOS, starting from V2.3.0, we don't support live stream on Android by default. But you could follow the instructions below to enable and enhance the function of live stream.
class MainApplication: FlutterApplication() {
}
Don't forget to add the configuration in the AndroidManifest.xml
file
<application
android:name=".MainApplication"
...
Step 1: add the library dependency inside the dependencies
block in the firework.gradle.
dependencies {
implementation "com.firework.external.livestream:singleHostPlayer:+"
...
}
configurations.all {
resolutionStrategy.eachDependency { details ->
...
if (details.requested.group == 'com.firework.external.livestream' && details.requested.name == 'singleHostPlayer') {
details.useVersion rootProject.ext.get("fwNativeVersion")
}
...
}
}
Step 2: add the following codes to the MainApplication
class
import com.firework.livestream.singlehost.SingleHostLivestreamPlayerInitializer
import com.fireworksdk.bridge.flutter.FWFlutterSDK
class MainApplication: FlutterApplication() {
override fun onCreate() {
super.onCreate()
FWReactNativeSDK.initializeSDK(nil)
FWFlutterSDK.addLivestreamPlayerInitializer(SingleHostLivestreamPlayerInitializer())
}
}
// Use new (modern) livestream player design
FireworkSDK.getInstance().livestreamPlayerDesignVersion =
LivestreamPlayerDesignVersion.v2;