시작하기
VChatCloud Swift SDK는 Swift 언어를 사용하여 VChatCloud 서비스를 쉽고 빠르게 통합할 수 있도록 제공하는 개발 도구 모음입니다.
새로운 채팅 기능 앱을 개발 중이라면 샘플 앱 위에 클라이언트 앱을 구축하는 것이 가장 쉽습니다. 만약 기존 앱에 채팅을 추가하려는 경우 이 안내서를 진행하여 채팅을 앱에 통합합니다. 이 가이드에서는 앱에 VChatCloud Swift SDK를 설치하고, 채널 객체를 생성하여 첫 번째 메시지를 보내는 기본적인 과정을 안내합니다.
VChatCloud의 다양한 기능을 빠르게 체험하고 싶다면, 샘플 앱 사용하기 페이지를 참고해주세요.
시작하기 전에
먼저 VChatCloud CMS에서 채팅방을 생성해야 합니다. 이미 생성된 채팅방이 있다면 ChannelKey
값을 확인해 주세요. 새로운 채팅방을 생성하려면 Quick Start로 이동하세요.
첫 메시지 보내기
SDK 종속성 추가
VChatCloud Swift SDK는 Xcode의 Swift Package Manager
를 통해 프로젝트에 추가할 수 있습니다.
XCode
의 상단 메뉴에서File
-Add Package Dependencies...
를 선택합니다.- 팝업 창의 검색 필드에 SDK의 Git 저장소 주소
https://github.com/e7works-git/VChatCloud-Swift-SDK.git
를 입력합니다. - 목록에서
vchatcloud-swift-sdk
를 선택하고Add Package
버튼을 클릭하여 추가합니다. - SDK 패키지가 다운로드 및 설치되면 프로젝트에서 바로 사용할 수 있습니다.
WARNING
현재 VChatCloud Swift SDK는 Swift Package Manager를 통한 설치만 지원합니다.
SDK 임포트
SDK 기능을 사용하려는 Swift 파일 상단에 다음 import 구문을 추가합니다.
import VChatCloudSwiftSDK
SDK 초기화 및 채팅방 접속
VChatCloud SDK를 초기화하고 채팅방에 접속하기 위해서는 먼저 Channel Delegate를 참조하여 새로운 클래스를 구현해야 합니다. 구현된 Delegate 클래스를 사용하여 SDK를 초기화하고 Channel
객체를 얻은 후, CMS에서 확인한 ChannelKey
와 사용자 정보를 담은 UserViewModel
을 설정하여 채팅방에 접속합니다.
import VChatCloudSwiftSDK
let channelKey = "YOUR_CHANNEL_KEY" // 실제 채널 키로 변경해주세요.
do {
if let roomData = await VChatCloudAPI.getRoomInfo(roomId: channelKey),
let likeCount = await VChatCloudAPI.getLike(roomId: channelKey) {
chatroomViewModel.channelKey = channelKey
chatroomViewModel.title = roomData.title
chatroomViewModel.rtcStat = roomData.rtcStat
chatroomViewModel.roomType = roomData.roomType
chatroomViewModel.lockType = roomData.lockType
chatroomViewModel.userEmail = roomData.userEmail
chatroomViewModel.userMax = roomData.userMax
chatroomViewModel.like = likeCount.like_cnt
}
// 사용자 정보를 설정합니다.
userViewModel.nickname = nickname // 사용자 설정의 닉네임
userViewModel.clientKey = clientKey // 사용자 고유 키, 중복되지 않아야 함
userViewModel.grade = "user" // 유저 등급
userViewModel.userInfo = ["profile":"1"] // 사용할 프로필 번호
let channel = try await VChatCloud.shared.connect(chatroomViewModel: chatroomViewModel, userViewModel: userViewModel)
channel.delegate = MyChannel.shared
// 채팅방에 참여합니다.
try await channel.join()
} catch {
// 오류 발생 시 연결을 종료하고 오류 메시지를 출력합니다.
if let channelError = error as? ChannelError {
VChatCloud.shared.disconnect()
}
debugPrint("error >>>")
debugPrint(error.localizedDescription)
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
메시지 전송
Channel
객체의 sendMessage
메서드를 사용하여 채팅 메시지를 전송합니다.
channel.sendMessage("Hello VChatCloud!")