搭建一个像 Yalla 这样的社交媒体应用程序,可满足人们对语音互动和实时交流日益增长的需求。Yalla 因其用户友好的设计、引人入胜的语聊房和无缝群组对话而广受欢迎,成为社交联系的首选平台。无论您是开发人员还是希望进军社交媒体领域的企业,本文将帮助您了解如何快速搭建像 Yalla 这样以语音为中心的应用程序。
什么是 Yalla 应用程序?
Yalla 应用程序是一个以实时语音通信为核心的流行社交网络平台。它允许用户加入或创建语聊房(语音聊天室),通过群组对话与朋友、家人或陌生人互动。Yalla 的吸引力在于其用户友好的界面,以及通过语音而不是文字促进有意义的联系的能力,从而使对话更有个性和吸引力。
Yalla 的主要特点
Yalla 的成功源于其优先考虑实时语音通信的创新功能,如主题聊天室、虚拟礼物和互动游戏。这些功能创造了一个引人入胜的社交环境,让用户保持联系和娱乐。
- 语音聊天室:Yalla 允许用户加入或创建语聊房,通过实时语音对话与他人互动。这些聊天室可以是公共的,也可以是私人的,具体取决于用户的偏好。
- 主题聊天室:用户可以加入按主题或兴趣组织的聊天室,例如音乐、体育或随意对话,从而更容易找到志同道合的人。
- 实时群组对话:该应用程序支持群组语音聊天,多个用户可以同时交谈,促进热烈、自发的讨论。
- 虚拟礼物:用户可以在对话过程中发送和接收虚拟礼物,为应用增添趣味和互动元素。这些礼物可以用应用内货币购买,用于表达感谢或增进互动。
- 互动游戏:Yalla 包含内置游戏,用户可以在聊天室内一起玩,使对话更具吸引力和娱乐性。
- 用户资料:每个用户都有一个资料,他们可以在资料中显示信息、照片和其他详细信息,以帮助其他人更轻松地与他们联系。
- 社区活动:Yalla 经常在应用程序内举办特别活动或社区驱动的活动,鼓励参与并增强用户参与度。
- 应用内货币:Yalla 使用虚拟货币系统,允许用户购买礼物、升级功能或增强他们的整体体验。
- 社交联系:该应用程序鼓励通过交互式语音聊天建立社交联系,使用户更容易与他人建立友谊和网络。
- 奖励和激励:活跃用户将获得应用内激励,例如徽章、虚拟礼物或状态升级,以鼓励其持续参与。
如何搭建像 Yalla 这样的语聊房应用程序?
如果您想开发像 Yalla 这样优先考虑语音聊天和实时通信的应用程序,ZEGO 将是您的最佳合作伙伴。ZEGO 拥有多年为顶级通信平台提供支持的经验,提供强大可靠的 SDK 和 API 套件,旨在满足现代社交应用程序的高要求。我们的技术可支持高质量、低延迟的音频和视频通话,实现像 Yalla 一样的无缝语音聊天体验。
ZEGO 提供两种搭建语聊房的方式:
- 第一种:有完整UI界面的 ZEGO 语聊房 UIKit(Live Audio Room Kit)产品, 这是一个包含场景化的通用 UI 且能够自定义调整的 SDK,可以快速实现从房间创建、上下麦、麦位管理,到退出销毁房间的全流程语聊房服务。 仅需几行代码,您即可将语聊房场景集成到您的应用中。
- 第二种:接入实时音视频、即时通讯、美颜等不含 UI 的核心产品和扩展服务,可以更精细地开发您的语聊房应用。查看文档介绍。
我们今天介绍第一种方式,即基于ZEGO 语聊房 UIKit 来搭建,下面以 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();
}
}
然后,您可以通过启动您的 LiveAudioRoomActivity
来创建一个语聊房。
运行 & 测试
现在您已经完成了所有步骤!
您只需在 Android Studio 中点击 运行 就可以在设备上运行和测试您的应用。
另外,更多语聊房功能您可以参考基础功能相关文档。
最后
开发像 Yalla 这样的应用提供了一个很好的机会来满足实时语音聊天和社交互动的需求。通过集成语聊房等关键功能并使用 ZEGO 可靠的通信技术,您可以创建一款成功且引人入胜的应用。专注于提供无缝的用户体验并保持创新,以在这个竞争激烈的市场中脱颖而出。
如果您有任何疑问或需要在线帮助,我们的支持团队随时准备为您提供帮助。
原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/1818/