Open API 사용하기
개요
VChatCloud SDK는 기본적인 채팅 기능 외에도 다양한 부가 기능을 Open API 형태로 제공합니다. 이러한 API들은 SDK 내부의 VChatCloudAPI
클래스에 포함되어 있으며, 간편하게 함수를 호출하여 사용할 수 있습니다.
채팅방 정보 조회 메서드
특정 채팅방의 상세 정보를 조회합니다.
await VChatCloudAPI.getRoomInfo(roomId: "YOUR_CHANNEL_KEY")
파라미터 값
값 식별자 설명 roomId String CMS에서 생성한 채팅방의 ChannelKey
결과 값
값 식별자 설명 ChatroomModel? 방 정보, 단 persons
,like
수는 별도 조회해야 함
채팅방 좋아요 개수 조회 메서드
특정 채팅방의 누적 좋아요 개수를 조회합니다.
await VChatCloudAPI.getLike(roomId: "YOUR_CHANNEL_KEY");
파라미터 값
값 식별자 설명 roomId String CMS에서 생성한 채팅방의 ChannelKey
결과 값
값 식별자 설명 LikeResponseModel? 채팅방 누적 좋아요 조회 정보
채팅방 좋아요 개수 추가 메서드
특정 채팅방에 좋아요를 추가합니다.
await VChatCloudAPI.like(roomId: "YOUR_CHANNEL_KEY");
파라미터 값
값 식별자 설명 roomId String CMS에서 생성한 채팅방의 ChannelKey
결과 값
값 식별자 설명 LikeResponseModel? 채팅방 누적 좋아요 조회 정보
채팅방에 업로드 된 파일 목록 조회 메서드
특정 채팅방에 업로드된 파일들의 목록을 조회합니다.
await VChatCloudAPI.getFileList(roomId: "YOUR_CHANNEL_KEY")
파라미터 값
값 식별자 설명 roomId String CMS에서 생성한 채팅방의 ChannelKey
결과 값
값 식별자 설명 FileListResponseModel? 업로드 된 파일 목록 배열
채팅방에 업로드 된 파일 다운로드 메서드
특정 채팅방에 업로드된 파일을 다운로드하여 로컬에 저장합니다.
아래 예제 코드는 파일 목록을 불러온 뒤 첫 번째 파일을 기기에 저장하는 코드입니다.
guard let files = await VChatCloudAPI.getFileList(roomId: "YOUR_CHANNEL_KEY"),
let file = files.data?.list.first else {
return
}
await VChatCloudAPI.downloadFile(file)
2
3
4
5
6
파라미터 값
값 식별자 설명 model FileItemModel 다운로드 받을 파일의 정보, FileItemModel의 fileNm, fileKey값이 필요합니다. downloadURL String 다운로드 받을 경로. 지정하지 않으면 앱의 문서 폴더에 저장됩니다. 지정할 경우 중복 파일 체크를 하지 않고 덮어쓰니 주의해야 합니다. sharePhotoApp Bool 사진 / 영상 파일은 포토 앱에서 확인할 수 있게 공유를 적용합니다. 결과 값
값 식별자 설명 url URL? 저장 된 파일의 경로
채팅방에 업로드 된 파일 URL 조회 메서드
채팅방에 업로드된 파일의 다운로드 URL을 조회합니다. 파일을 직접 다운로드하지 않고 웹뷰 등으로 표시할 때 유용합니다.
let fileKey = "FILE_KEY"
if let fileURL = VChatCloudAPI.loadFileUrl(fileKey) {
print("파일 URL: \(fileURL)")
// 웹뷰 등에 파일 URL 로드
}
2
3
4
5
파라미터 값
값 식별자 설명 fileKey String 파일에 접근할 수 있는 고유 키 결과 값
값 식별자 설명 URL? URL 정보
OpenGraph 정보 요청 메서드
특정 URL의 OpenGraph 정보를 조회합니다. 웹 페이지 미리보기 등을 구현할 때 유용합니다.
let url = "https://vchatcloud.com"; // 원하는 주소를 입력하세요.
if let openGraphInfo = await VChatCloudAPI.openGraph(requestUrl: url) {
print("OpenGraph 정보: \(openGraphInfo)")
// OpenGraph 정보 활용
}
2
3
4
5
파라미터 값
값 식별자 설명 requestUrl String OpenGraph 정보를 조회 할 URL 결과 값
값 식별자 설명 OpenGraphResponseModel? OpenGraph 정보
구글 번역 메서드
Google Translate API를 사용하여 텍스트를 지정된 언어로 번역합니다. 이 기능을 사용하려면 CMS에서 해당 채팅방의 구글 번역 설정을 활성화하고 Google API 키를 등록해야 합니다.
Google API KEY를 발급받는 과정에 대한 설명은 번역 사용하기에 자세한 설명이 있습니다.
지원 언어 목록 및 코드
targetLanguageCode
에 사용할 수 있는 언어코드는 구글의 언어지원 항목을 참고하세요.
VChatCloudAPI.langMap
속성을 사용하여 언어 코드를 확인할 수도 있습니다.
await VChatCloudAPI.googleTranslation(text: "message", targetLanguageCode: "en", roomId: "YOUR_CHANNEL_KEY")
파라미터 값
값 식별자 설명 text String 번역 할 문자열 targetLanguageCode String 번역 할 언어 코드 roomId String CMS에서 생성한 채팅방의 ChannelKey
, 해당 채팅방은 구글번역 사용으로 설정하고, Google API KEY값을 설정해야 합니다.결과 값
값 식별자 설명 GoogleTranslationResponseModel? 메시지 번역 요청 결과
유저 신고하기 메서드
채팅방 내의 특정 사용자를 신고합니다. 신고된 내용은 VChatCloud CMS의 채팅방 모니터링 페이지에서 확인할 수 있습니다.
await VChatCloudAPI.reportUser(roomId: "YOUR_CHANNEL_KEY", banUserClientKey: "BAN_USER_CLIENT_KEY", banUserNickname: "BAN_USER_NICKNAME", banMessage: "BAN_USER_INPUT_MESSAGE")
파라미터 값
값 식별자 설명 roomId String 생성한 채팅방마다 고유하게 발급되는 channel key banUserClientKey String 신고 할 유저의 Client Key banUserNickname String 신고 할 유저의 닉네임 banMessage String 신고 할 메시지 내용 결과 값
값 식별자 설명 ReportResponseModel? 신고 처리 결과