시작하기
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 VChatCloudSwiftSDKSDK 초기화 및 채팅방 접속
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!")