# 시작하기
VChatCloud Swift SDK는 VChatCloud 서비스를 Swift를 사용해 간편하게 구현할 수 있게 해주는 개발 키트입니다.
채팅 기능이 있는 앱을 구축하려는 경우 샘플 앱 위에 클라이언트 앱을 구축하는 것이 좋습니다. 만약 이미 앱이 있고 채팅을 추가하려는 경우 이 안내서를 진행하여 채팅을 앱에 통합합니다. 이 안내서는 앱에 채팅 SDK를 설치하고 채널 객체를 생성하고 첫 번째 메시지를 보내는 과정을 안내합니다.
샘플 앱을 사용하려는 경우에는 이곳을 눌러 이동하세요.
시작하기 전에
먼저 CMS에서 채팅방을 생성해야 합니다. 만약 채팅방이 이미 생성되어 있다면 ChannelKey
값을 확인하세요.
새로 생성하려면 이곳을 눌러 이동하세요.
# 첫 메시지 보내기
# 종속성 추가하기
종속성은 XCode
의 Swift Package Manager
를 사용하여 추가할 수 있습니다.
XCode
의 상단 메뉴에서File
-Add Package Dependencies...
를 클릭하면 팝업이 나타납니다.- 팝업창의 우측 상단 검색창에
https://github.com/e7works-git/VChatCloud-Swift-SDK.git
주소를 입력합니다. - 목록에서
vchatcloud-swift-sdk
를 클릭하고Add Package
를 클릭 해 추가합니다. - SDK 패키지가 자동으로 설치되고, 바로 사용할 수 있습니다.
WARNING
현재는 Swift Package Manager 방식만 지원하고 있습니다.
# 패키지 불러오기
SDK를 사용할 곳에서 아래 문구를 추가하여 패키지를 불러옵니다.
import VChatCloudSwiftSDK
1
# SDK 초기화하기
Channel Delegate를 참조하여 새로운 Class를 구현한 뒤 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)
}
1
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
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
# 메시지 보내기
Channel
객체의 sendMessage
메서드를 이용해 메시지를 전송합니다.
channel.sendMessage("Hello VChatCloud!");
1