# 시작하기

VChatCloud Swift SDK는 VChatCloud 서비스를 Swift를 사용해 간편하게 구현할 수 있게 해주는 개발 키트입니다.

채팅 기능이 있는 앱을 구축하려는 경우 샘플 앱 위에 클라이언트 앱을 구축하는 것이 좋습니다. 만약 이미 앱이 있고 채팅을 추가하려는 경우 이 안내서를 진행하여 채팅을 앱에 통합합니다. 이 안내서는 앱에 채팅 SDK를 설치하고 채널 객체를 생성하고 첫 번째 메시지를 보내는 과정을 안내합니다.

샘플 앱을 사용하려는 경우에는 이곳을 눌러 이동하세요.

시작하기 전에

먼저 CMS에서 채팅방을 생성해야 합니다. 만약 채팅방이 이미 생성되어 있다면 ChannelKey값을 확인하세요.
새로 생성하려면 이곳을 눌러 이동하세요.

# 첫 메시지 보내기

# 종속성 추가하기

종속성은 XCodeSwift Package Manager를 사용하여 추가할 수 있습니다.

  1. XCode의 상단 메뉴에서 File - Add Package Dependencies...를 클릭하면 팝업이 나타납니다.
  2. 팝업창의 우측 상단 검색창에 https://github.com/e7works-git/VChatCloud-Swift-SDK.git주소를 입력합니다.
  3. 목록에서 vchatcloud-swift-sdk를 클릭하고 Add Package를 클릭 해 추가합니다.
  4. 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

# 메시지 보내기

Channel객체의 sendMessage메서드를 이용해 메시지를 전송합니다.

channel.sendMessage("Hello VChatCloud!");
1
Copyright 2022. E7Works Inc. & JOYTUNE Corp. All Rights Reserved.