Unity SDK
Authentification
1. Initializing with Project ID
생성한 Game Chat 프로젝트 아이디를 통해, Game Chat 인스턴스를 초기화합니다.
PROJECT_ID
string
프로젝트 아이디
2. Connect to Game Chat Server
유저아이디를 통해, Game Chat 소켓 서버에 접속합니다.
=> Game Chat 프로젝트 내에서, 유저아이디는 Unique 한 값입니다.
api를 사용하기 위한 토큰값을 획득합니다.
=> (GameChat.connect 이후 시점) 갱신된 토큰값을 확인할 수 있습니다.
(토큰값 획득과 함께) 현재 접속 디바이스에 대한 유저정보가 갱신됩니다.
=> GameChat.connect의 콜백으로 전달받는 Member는 갱신된 데이터입니다.
USER_ID
string
유저 고유 아이디
3. Disconnect from Game Chat Server
연결된 Game Chat 소켓서버와의 연결을 해제합니다.
4. User Information
유저정보가 저장/갱신됩니다.
Adid
string
광고아이디(Unique identifier)
MemberId
string
유저 고유 아이디
NickName
string
유저 닉네임
ProfileUrl
string
프로필 이미지 url
Token
string
Authentification Token
AppVersion
string
앱 버전(Edit > Project Settings > Player > Other Settings)
DeviceModel
string
접속 디바이스 모델
DeviceOSVersion
string
접속 디바이스 환경
NetworkType
string
접속 네트워크 타입 (CELLULAR, WIFI)
Communication
1. Subscribe / Unsubscribe
채널 아이디로, 특정 채널에 (un)subscribe 합니다
CHANNEL_ID
string
채널 아이디
2. SendMessage
채널 아이디로, 특정 채널에 메시지를 송신합니다.
CHANNEL_ID
string
채널 아이디
MESSAGE
string
전송 메시지 텍스트
Event
Binding Event
Game Chat 소켓서버로부터 수신하는 이벤트에 대해, 커스텀 핸들러를 등록/해제 할 수 있습니다,
Exception
Game Chat API 사용 중에 발생하는, Exception에 대한 공통 처리 Class 입니다.
Client API
1-1. Subscription
Subscription Data Class (per Unit)
id
string
유니크 아이디
channel_id
string
채널 아이디
user_id
string
유저 고유 아이디
created_at
string
생성 일자
1-2. getSubscriptions
(특정 채널에 대해) Subscription 데이터를 리스트 형태로 가져올 수 있습니다.
2-1. Channel
Channel Data Class (per Unit)
id
string
채널 아이디(unique)
project_id
string
프로젝트 아이디
unique_id
string
개발사에서 설정 가능한 채널 아이디 (unique)
name
string
채널 이름
user_id
string
(채널 생성한) 유저 아이디
created_at
string
생성 일자
updated_at
string
갱신 일자
2-2. getChannels
(프로젝트 내) Channel 데이터를 리스트 형태로 가져올 수 있습니다.
OFFSET
int
(전체 채널 리스트로부터 가져올) 채널의 시작 위치 (index)
LIMIT
int
(가져올) 채널의 갯수
2-3. getChannel
(Channel) ID / UniqueID를 통해, Channel 데이터를 가져올 수 있습니다.
CHANNEL_ID
string
채널 아이디 (auto generated)
CHANNEL_UNIQUE_ID
string
채널 (고유) 아이디 (customizing available)
2-4. create / update / delete Channel
(프로젝트 내) 새로운 Channel Instance를 생성 / 갱신 / 삭제할 수 있습니다.
보안상의 이슈로, SDK를 통한 채널의 CRUD 기능은 제거되었습니다. Open API를 통해, Server to Server로 채널의 CRUD를 사용하실 수 있습니다.
Guide => [ Open API - Channel Create / Update / Delete ]
3-1. Message
(Received) Message Data Class (per Unit)
message_id
string
메시지 유니크 아이디
channel_id
string
채널 아이디
message_type
string
메세지 타입
content
string
메세지 내용 (json string)
mentions
string
멘션(태그)
mentions_everyone
string
전체 메세지 여부
sender
Class
id
string
(송신한) 유저 고유 아이디
name
string
(송신한) 유저 닉네임
profile
string
(송신한) 유저 이미지 프로필 url
created_at
string
메세지 생성 일자
3-2. getMessages
(특정 채널에 대해) Message 데이터를 리스트 형태로 가져올 수 있습니다.
CHANNEL_ID
string
채널 아이디
OFFSET
string
(전체 메시지 리스트로부터 가져올) 메세지의 시작 위치
LIMIT
string
(가져올) 메세지의 갯수
SEARCH
string
(메시지 검색 시) 검색 기준 key (ex> content.text) 빈 문자열 전달 시, full scan
QUERY
string
(메시지 검색 시) 검색 value. 완전 일치만 검색 가능. 빈 문자열 전달 시, full scan
SORT
string
메시지 리스트 정렬순서 (default : desc - 가장 최근순) (optional : asc)
3-3. translateMessage
(자동번역 기능이 활성화 되어 있을 경우) 임의의 텍스트를 (지정한 언어로) 번역할 수 있습니다.
해당 기능은, NaverCloud PAPAGO NMT 상품을 함께 연동할 경우 사용 가능합니다. [ NCP Papago NMT ]
(Received) Translation Data Class (per Unit)
translated
bool
번역 성공 여부
message
string
결과 메세지 내용 (json string)
CHANNEL_ID
string
채널 아이디
TEXT
string
(송신 할) 텍스트
4-1. Member
(Received) Member Data Class (per Unit)
id
string
유저 고유 아이디
project_id
string
(로그인한) Game Chat 프로젝트 아이디
nickname
string
유저 닉네임
profile_url
string
(이미지) 프로필 Url
country
string
접속 국가
remoteip
string
접속 IP
adid
string
광고 식별자
device
string
접속 디바이스 환경
network
string
접속 네트워크 타입(CELLULAR, WIFI)
version
string
접속 앱 버전
model
string
접속 디바이스 모델
logined_at
string
로그인한 일자
created_at
string
유저 생성 일자
updated_at
string
유저 정보 갱신 일자
4-2. updateMember
채팅 서버의 유저 정보를 갱신할 수 있습니다.
MEMBER_ID
string
유저 고유 아이디
NICKNAME
string
유저 닉네임
PROFILE
string
프로필 이미지 url
GameChatExtension (Emoji, HyperLink)
수신 메시지에 포함된, Emoji와 HyperLink 텍스트를 다루기 쉽게 도와주는 Helper Class 입니다.
TMP_GameChatTextUGUI는 Unity Built-In Asset 인 TextMeshPro를 확장한 클래스 입니다. 사용하기 위해서는, 먼저 Package Manager를 이용해 TextMeshPro가 설치되었는지 확인해주세요.
TextMeshPro Asset의 경우, Unity 2018.2 이상의 버전부터 Built-In Asset으로 포함됩니다.
Unity 에디터 상에서, Window > TextMeshPro > Import TMP Essential Resources를 눌러, 기본 리소스까지 import 해 주세요.
Emoji Sprite Sheet의 경우, Emoji version 13(Android)를 기준으로 기본 출력되며 Sprite Sheet를 변경하여 커스터마이징이 가능합니다.
Case
Last updated