云视频会议AliMeetingUISDK 提供了一套用于加入视频会议的接口集合,开发者可以通过调用 AliMeetingUISDK(以下简称 SDK),可以在自己应用中快速集成阿里音视频会议功能。
1 概述
云视频会议AliMeetingUISDK 提供了一套用于加入视频会议的接口集合,开发者可以通过调用 AliMeetingUISDK(以下简称 SDK),可以在自己应用中快速集成阿里音视频会议功能。
2 环境配置
2.1 添加 Kotlin 支持
Android SDK使用kotlin进行开发,如果项目中已经使用了Kotlin则可以忽略该部分,具体环境配置如下在应用最外层的build.gradle文件中添加 classpath 支持 kotlin
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.31"
//其它配置
}
在对应 modue 中引入kotlin的插件,添加kotlin支持
apply plugin:'kotlin-android'
apply plugin:'kotlin-android-extensions'
在 dependencies 中添加kotlin语法支持
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$leatestversion"
2.2 下载SDK
下载地址:sdk.zip
2.3 Android 工程配
下载 UI SDK、AliMeetingSDK 放入module中的libs目录如下图,在gradle中修改如下:
implementation fileTree(dir:'libs', include:['*.aar'])
添加gradle 依赖配置
implementation "com.android.support:support-annotations:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:recyclerview-v7:28.0.0"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation "io.reactivex.rxjava2:rxjava:2.1.14"
implementation 'com.alibaba:fastjson:1.1.73.android'
//okhttp:3.14.1 支持Android 5.0+,如果需要支持Android 4.0+,可以使用3.10.0版本
implementation "com.squareup.okhttp3:okhttp:3.14.1"
implementation 'android.arch.lifecycle:extensions:1.1.1'
implementation "com.yqritc:recyclerview-flexibledivider:1.2.9"
implementation "com.github.afollestad.material-dialogs:core:0.8.5.6@aar"
implementation "com.nostra13.universalimageloader:universal-image-loader:1.9.3"
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.8'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50"
ABI配置,(gradle有多种配置方式,这里这用一种,如果工程中已有类似配置的可以忽略)
android { ... defaultConfig { ... ndk { // Specifies the ABI configurations of your native // libraries Gradle should build and package with your APK. abiFilters 'armeabi','armeabi-v7a' } } }
proguard 配置proguard 配置 AliMeetingUISDK proguard 已经在内部集成,用户不需要额外配置proguard规则
3 代码集成流程
3.1 获取入会信息
开发者通过与自己的服务端对接,获取入会信息AliMeetingDetailConfig相关信息,具体定义有
data classAliMeetingDetailConfig(
val meetingAppId:String="",//必填
val meetingToken:String="",//必填
val meetingDomain:String="",//必填
val meetingCode:String="",//必填
val meetingUUID:String="",//必填
val memberUUID:String="",//必填
val rateLink:String?=null//选填,评分页连接,如果不需要评分页,则可以跳过
)
3.2 配置入会初始状态
开发者通过AliMeetingJoinConfig.Builder 构建入会信息,具体可配置信息如下
classAliMeetingJoinConfig(
//[必填] 入会成员UserId
val userId:String,
//[必填] 会议口令
val meetingCode:String,
//[选填] 是否默认开启摄像头,默认为true
val openCameraDefault:Boolean,
//[选填] 是否默认关闭麦克风,默认为false
val muteAudioDefault:Boolean,
//[选填] 会议详情,如果该参数不为空,则本地入会不会再调用
//AliMeetingUIManager.AliMeetingDataSource 中的getDetailInfo 接口
var meetingDetailConfig:AliMeetingDetailConfig?,
// [选填] 是否只允许发起人静音他人,默认为 true 即表示只有发起人可以进行静音他人操作,
// 设置为 false 则所有人都可以进行静音他人操作。
// 如果其他人点击静音按钮需要提示,则可以重载字符串资源 meeting_can_not_mute_audio_tips
val onlyMasterCanMuteAudio:Boolean,
// [选填] 是否只允许发起人挂断他人,默认为true 即表示只有发起人可以进行静音他人操作,
// 设置为 false 则所有人都可以进行挂断他人操作
val onlyMasterCanHangUp:Boolean
)
3.3 加入会议
调用AliMeetingUIManager#joinMeeting(context: Context, config: AliMeetingJoinConfig) 即可入会
3.4 会后评价页
参考章节【获取入会信息】,通过AliMeetingDetailConfig 配置 rateLink,如果rateLink 为空,则表示不需要会后评价页,否则在用户结束会议后,会跳转到对应的评价页
3.5 会议环境配置[可选]
本节环境配置用于对会中流程进行定制,如不需要可以跳过
3.5.1 配置获取会议详情
使用场景:在入会之前没有获取到会议入会信息AliMeetingDetailConfig,只有userId和meetingCode,在进入会议页面之前需要额外进行会议详情请求,导致可能出现入会前有加载状态,入会时同样有会议加载状态,加载状态可以合并配置方式:在进入会议之前,初始化一次 AliMeetingUIManager.meetingDataSource = {},在调用 AliMeetingUIManager#joinMeeting之后,SDK会调用 AliMeetingDataSource#getDetailInfo 接口获取会议信息,获取成功后加入会议
3.5.2 配置UI
配置邀请他人功能
SDK 内部不实现邀请功能,因此如果需要邀请他人,开发者可自己实现 AliMeetingUiController 接口,完成接口邀请功能定制,通过AliMeetingUIManager.uiController进行设置。如有需要请在调用AliMeetingUIManager#joinMeeting 之前进行设置
Activity 样式定制
请在app中覆盖style AliMeetingLight.MeetingDetail
定制指定图片资源
gif 覆盖drawable 中文件即可,png 需要覆盖 drawable-hdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi
定制用户头像,请覆盖资源 ic_meeting_light_default_avatar.png
定制返回图标,请覆盖资源 ic_meeting_light_back.png
定制加载动画,请覆盖资源 gif_meeting_light_loading.gif
定制加载失败图标,请覆盖资源 ic_meeting_light_meeting_logo.png
配置无静音操作权限提示
对于设置只有发起人允许进行静音操作的,如果其他人点击静音按钮需要提示时,可以覆盖 R.string.meeting_can_not_mute_audio_tips 资源,即可弹出对应的提示
4 问题排查
如遇开发问题,请通过logcat过滤AliMeeting 采集对应日志后进行反馈
5 SDK Demo 下载
下载地址: sdk-demo
SDK ReleaseNote
1.0.0.2(2020-02-24)
【修复】入会过程中挂断他人可能导致的挂断全员的问题
【修复】会中息屏后导致视频状态不正确问题
【修复】替换弹框库,解决部分手机上弹框文字无法正常显示问题
【修复】相机初始化状态异常时无法再次打开相机
1.0.0.1(2020-01-17)
sdk 初始化版本
- 本页导读 (0)