近日,ZEGO 语聊房 UIKit 上线,这是一款提供了一组默认的行为和样式的语聊房SDK,进一步降低了语聊房开发门槛。同时可根据您的需求,灵活地的定制或添加自定义业务逻辑。
下面我们具体来看看这款语聊房SDK支持的自定义功能以及如何集成。
ZEGO 语聊房 UIKit 支持以下自定义功能
1. 设置用户头像
为应用用户设置头像图片(否则,默认使用用户名的第一个字母)。
2. 自定义麦位
- 自定义座位布局。
- 相应地为语聊房中的角色设置指定的座位。
3. 自定义上麦逻辑
- 自定义您的业务逻辑。
- 自定义观众的座位占用逻辑。
4. 自定义背景
自定义语聊房的背景视图。
5. 自定义用户属性
用户属性是键值对格式,用于实现自定义功能。
6. 设置退出对话框
添加一个确认对话框进行双重确认。
7. 自定义 UI 界面文案
自定义内部组件的用户界面文本。
8. 自定义菜单栏按钮
移除默认按钮或向底部菜单栏添加自定义按钮。
9. 自定义文本消息 UI
自定义文本消息列表项。
如何集成语聊房 UIKit ?
目前 ZEGO 语聊房 UIKit 支持 iOS 和 Android 平台,下面 以 Android 平台为例分享集成步骤。
准备环境
在开始集成语聊房 UIKit 前,请确保开发环境满足以下要求:
- Android Studio 2020.3.1 或以上版本。
- Android SDK 25、Android SDK Build-Tools 25.0.2、Android SDK Platform-Tools 25.x.x 或以上版本。
- Android 4.4 或以上版本,且支持音视频的 Android 设备。
- Android 设备已经连接到 Internet。
前提条件
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目信息。
- 联系 ZEGO 技术支持,开通 UIKit 相关服务。
实现流程
集成 SDK
1. 添加 jitpack
配置。
- 如果您的 Android Gradle 插件是 7.1.0 或更高版本:
进入您的项目的根目录,打开settings.gradle
文件,按照如下方式将 jitpack 添加到dependencyResolutionManagement
>repositories
:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://storage.zego.im/maven' } // <- 添加这行。
maven { url 'https://www.jitpack.io' } // <- 添加这行。
}
}
- 如果您的 Android Gradle 插件是 7.1.0 之前的版本 :
进入您的项目的根目录,打开build.gradle
文件,按照如下方式将 jitpack 添加到allprojects
->repositories
:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://storage.zego.im/maven' } // <- 添加这行。
maven { url "https://jitpack.io" } // <- 添加这行。
}
}
2. 修改您的应用级别的 build.gradle
文件:
dependencies {
...
implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_live_audio_room_android:+' // 添加这行到您的模块级别的 build.gradle 文件的依赖部分,通常命名为 [app]。
}
使用语聊房 UIKit
- 为连接语聊房 UIKit 服务指定
userID
和userName
。 - 创建一个
roomID
,代表您想要创建的语聊房。
注意:
userID
、userName
和roomID
只能包含数字、字母和下划线 (_)。- 使用相同的
roomID
将进入同一个语聊房。 - 使用相同的
roomID
,只能有一个用户作为主持人进入语聊房。其他用户需要作为观众进入语聊房。 - UIKit 默认语言为英文,如需修改为中文,请修改
ZegoUIKitPrebuiltLiveAudioRoomConfig.translationText
public class LiveAudioRoomActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call);
addFragment();
}
public void addFragment() {
long appID = yourAppID; // 替换为您的 AppID
String appSign = yourAppSign; // 替换为您的 AppSign
String userID = yourUserID; // 替换为您的 UserID
String userName = yourUserName; // 替换为您的 UserName
boolean isHost = getIntent().getBooleanExtra("host", false);
String roomID = getIntent().getStringExtra("roomID");
ZegoUIKitPrebuiltLiveAudioRoomConfig config;
if (isHost) {
config = ZegoUIKitPrebuiltLiveAudioRoomConfig.host();
} else {
config = ZegoUIKitPrebuiltLiveAudioRoomConfig.audience();
}
// 修改为中文
config.translationText = new ZegoTranslationText(ZegoUIKitLanguage.CHS);
ZegoUIKitPrebuiltLiveAudioRoomFragment fragment = ZegoUIKitPrebuiltLiveAudioRoomFragment.newInstance(appID, appSign, userID, userName, roomID, config);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow();
}
}
class LiveAudioRoomActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_live)
addFragment()
}
private fun addFragment() {
val appID: Long = yourAppID // 替换为您的 AppID
val appSign = yourAppSign // 替换为您的 AppSign
val userID = YourUserID // 替换为您的 UserID
val userName = YourUserName // 替换为您的 UserName
val isHost = intent.getBooleanExtra("host", false)
val roomID = intent.getStringExtra("roomID")
val config: ZegoUIKitPrebuiltLiveAudioRoomConfig = if (isHost) {
ZegoUIKitPrebuiltLiveAudioRoomConfig.host()
} else {
ZegoUIKitPrebuiltLiveAudioRoomConfig.audience()
}
// 修改为中文
config.translationText = ZegoTranslationText(ZegoUIKitLanguage.CHS)
val fragment = ZegoUIKitPrebuiltLiveAudioRoomFragment.newInstance(appID, appSign, userID, userName, roomID, config
)
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow()
}
}
然后,您可以通过启动您的 LiveAudioRoomActivity
来创建一个语聊房。
运行 & 测试
现在您已经完成了所有步骤!
您只需在 Android Studio 中点击 运行 就可以在设备上运行和测试您的应用。
小结
据 data.ai 数据显示,2023年上半年海外语聊房应用下载量超过1.2亿次,较2020年同期增长
200%以上。语聊房作为老生常谈的在线社交热门玩法之一,ZEGO 语聊房 SDK 可助力开发者快速抢占先发优势,只需根据自身的业务特点,稍加修改就可用于商业化应用。更多详细功能可访问语聊房 UIKit开发文档。
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/48572.html