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;
}
Support low latency multi-host live stream
Add the following codes in the Podfile of your iOS project.
pod 'FireworkVideoAgoraSupport', '0.5.0'
Integration
In your iOS project, you need to call FireworkVideoSDK.enableMultiHostPlayback() in application(:, didFinishLaunchingWithOptions:) -> Bool method.
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 FireworkVideoAgoraSupport
import react_native_firework_sdk
@objc
public class FireworkSupportLibraryBridge: NSObject {
@objc public static func initFireworkSDK() {
FWReactNativeSDK.initializeSDK(nil)
}
@objc public static func enableMultiHostPlayback() {
FireworkVideoSDK.enableMultiHostPlayback()
}
}
Then add [FireworkSupportLibraryBridge enableMultiHostPlayback]; 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 enableMultiHostPlayback];
return YES;
}
Android
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.
Add the MainApplication class if you don't have it
class MainApplication: FlutterApplication() {
}
Don't forget to add the configuration in the AndroidManifest.xml file
<application
android:name=".MainApplication"
...
Support the single-host live stream
Step 1: add the library dependency inside the dependencies block in the firework.gradle.