샘플 앱 사용 가이드
VChatCloud의 기능을 빠르게 체험하고 나만의 채팅방을 만들어보세요. 아래는 샘플 앱을 실행하기 위한 필수 과정입니다.
필수 변경사항
주의사항
샘플 코드를 다운로드한 후, 반드시 channelKey
값을 사용자의 채팅방 정보로 변경해야 합니다. 아래 설명에 따라 변경 사항을 적용해 주세요.
샘플 앱 소스 코드 💾
channelKey
변경 방법
- 원하는 스타일의 iOS 샘플 앱을 다운로드합니다.
- 다운로드한 압축 파일을 풀고,
view/Login/LoginView.swift
파일을 텍스트 편집기로 엽니다. - VChatCloud CMS에서 생성한 채팅방의 채널 키를 복사합니다.
LoginView.swift
파일 내의goLogin
함수에서channelKey
변수의 값을 3번에서 복사한 채널 키로 붙여넣습니다.
swift
let channelKey = "YOUR_CHANNEL_KEY" // 이 부분을 복사한 채널 키로 변경하세요.
1
Channel
클래스를 이용한 채팅방 접속
Channel
클래스는 채팅방 입장 및 메시지 전송과 같은 주요 기능을 제공합니다. 아래 코드는 채팅방에 접속하는 방법을 보여주며, 메시지 전송 등 다른 자세한 메서드 설명은 채널 페이지를 참고해주세요.
swift
do {
let channelKey = "YOUR_CHANNEL_KEY"
// 사용자의 clientKey를 정의합니다. 사용자 간 중복되지 않도록 고유한 값을 설정해야 합니다.
clientKey = clientKey.isEmpty ? randomString(length: 10) : clientKey
userViewModel.nickname = nickname
userViewModel.clientKey = clientKey
userViewModel.grade = "user"
userViewModel.userInfo = ["profile":profileIndex.description]
// VChatCloudAPI를 사용하여 채팅방 정보를 불러옵니다.
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
}
// VChatCloud 채팅 서버에 접속합니다.
let channel = try await VChatCloud.shared.connect(chatroomViewModel: chatroomViewModel, userViewModel: userViewModel)
// channel의 delegate에 채널 이벤트 처리를 위임할 객체를 등록합니다. (MyChannel 클래스)
channel.delegate = MyChannel.shared
// 실제 채팅방에 접속합니다.
try await channel.join()
} catch {
if let channelError = error as? ChannelError {
VChatCloud.shared.disconnect()
} else {
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
33
34
35
36
37
38
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
36
37
38