alicloud_impinteraction_liveroom 1.8.5 alicloud_impinteraction_liveroom: ^1.8.5 copied to clipboard
A new flutter plugin for Alicloud vPaaS low code liveroom SDK
alicloud_impinteraction_liveroom #
本插件是低代码音视频工厂直播低代码接入(含UI)
(以下简称直播低代码
)的Flutter实现插件。
环境要求 #
Android环境要求: #
- 系统版本:支持Android 5.0及以上版本。
- API版本:支持21及以上版本。
- CPU架构:支持实体设备架构armeabi-v7a、arm64-v8a。
- 其他:不支持视频采集旋转,不支持USB外接摄像头。
iOS环境要求: #
- 设备类型:支持iPhone和iPad所有型号。
- CPU架构:支持iOS真机armv7、arm64架构,不支持模拟器i386、X86_64架构。
- 系统版本:支持iOS 10.0及以上版本。
- 其他:不支持bitcode,不支持屏幕旋转。 前提条件 客户端集成前,请确保已经通过控制台创建应用并获取客户端集成需要的信息(应用ID,APP Key,低代码集成服务地址,低代码集成服务密钥)。创建指引请参见创建应用。
开始接入 #
欲使用本插件,需了解直播低代码
接入流程
前提条件 #
客户端集成前,请确保已经通过控制台创建应用并获取客户端集成需要的信息(应用ID,APP Key,低代码集成服务地址,低代码集成服务密钥)。创建指引请参见创建应用
工程配置 #
Android工程配置 #
minSdkVersion配置
工程配置中添加minSdkVersion配置项 (> 21)
android {
defaultConfig {
minSdkVersion 21
}
}
覆盖android:label
在应用的AndroidManifest.xml文件的<application>
标签中添加'tools:replace="android:label"
add 'tools:replace="android:label"' to
iOS工程配置 #
支持系统版本
iOS 10.0
- iOS工程 podFile中:
platform :ios, '10.0'
- xCode工程配置中: General -> DeploymentInfo -> iOS10.0
关闭bitcode
不支持bitcode
——需在工程配置中关闭bitcode
配置设备权限
需要在Xcode工程本身的plist文件中主动配置以下三项:
Key | Value |
---|---|
Privacy - Camera Usage Description | Use camera |
Privacy - Microphone Usage Description | Use microphone |
Application uses Wi-Fi | YES |
API使用 #
完整的代码实现逻辑请参见开源工程
初始化 #
需要传入应用配置信息
(应用ID,APP Key,低代码集成服务地址,低代码集成服务密钥)。创建指引请参见创建应用 需注意AppKey区分平台,此插件中需同时传入
appKey4Android
(Android平台AppKey)、appKey4iOS
(iOS平台AppKey)
Future<void> initPlugin() async {
String initResult;
try {
var param = {
'appId': '$appId',
'appKey4Android': '$appKey4Android',
'appKey4iOS': '$appKey4iOS',
'serverHost': '$serverHost',
'serverSecret': '$serverSecret',
};
initResult = await AlicloudImpinteractionClassroom.init(param) ??
'Unknown init result';
} on PlatformException {
initResult = 'Failed to init.';
}
if (!mounted) return;
setState(() {
_initResult = initResult;
});
}
开启直播或者进入直播间 #
Future<void> setUp() async {
String value = 'unknown';
try {
final String paramJson =
await rootBundle.loadString('assets/demo_param.json');
final demoParam = await json.decode(paramJson);
var param = {
'userId': '$userId',
'liveId': '$liveId',
// role参数: anchor代表主播 audience代表观众(当选择观众角色时,liveId必填)
'role': choosenRole == indexAnchor ? 'anchor' : 'audience',
};
value = await AlicloudImpinteractionLiveroom.setUp(param) ??
'Unknown setUp result';
} on Exception {
value = 'Failed to setUp';
}
setState(() {
_setUpResult = value;
});
}