自带 UI 的语聊房SDK,语聊房开发人手必备利器

近日,ZEGO 语聊房 UIKit 上线,这是一款提供了一组默认的行为和样式的语聊房SDK,进一步降低了语聊房开发门槛。同时可根据您的需求,灵活地的定制或添加自定义业务逻辑。

自带 UI 的语聊房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。

前提条件

实现流程

集成 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 服务指定 userIDuserName
  • 创建一个 roomID,代表您想要创建的语聊房。

注意:

  • userIDuserNameroomID 只能包含数字、字母和下划线 (_)。
  • 使用相同的 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

(1)

相关推荐

发表回复

登录后才能评论