Photon Chat 소개

시작하기

Photon Chat을 사용하여 플레이어들이 온라인 상에 있을 동안 계속 소통하도록 하게 해 주세요. Photon Chat 어플리케이션은 연결할 때 유일한 어플리케이션과 AppId 가 필요 합니다.

무료 가입 후에 Chat 관리화면에서 AppId 를 받으세요.

접속

변경사항과 메시지를 받기 위하서 어플리케이션에 콜백으로 사용되고 있는 일부 메소드를 구현 해야 합니다. C# 에서는 IChatClientListener 인터페이스로 정의 되어 있습니다.

데모에서는 IChatClientListener 인터페이스 구현을 위한 ChatClient 클래스를 사용하여 인스턴스를 생성합니다. ChatClient 의 인스턴스 생성이 되면 접속 할 수 있습니다.

AppId와는 별도로 Connect()는 임의의 문자열로 버전을 전달하고 유일하게 부여하여 가장 좋은 사용자명을 만들어 전달 합니다.

구독(Subscribe)

Photon Chat에서는 사용자 그룹 또는 주제별로 채널을 사용할 수 있습니다. 채널을 구독하는 사람은 모두 채널 내 공개된 모든 메시지들을 받습니다. 첫번째 구독인 경우이면 새로운 채널이 생성됩니다.

Subscribe 메소드는 구독할 채널을 문자열 배열로 전달합니다.

ChatClient.Service()를 지속적으로 호출하여 연결을 계속 유지하고 수신 메시지를 받습니다.

이런 방식으로 새로운 메시지가 언제 올지 알게 됩니다.

전송

공개 메시지

이전에 구독하고 있는 채널에 메시지를 게시하고 싶을 것 입니다. 공개 메시지는 PublishMessage()를 사용하여 채널의 모든 구독자에게 메시지를 전송합니다.

일반 문자열 이외에 Photon Chat 는 복합 메시지를 사용할 수 있습니다. 예, 초대와 같은

비밀 메시지

SendPrivateMessage() 로 이용자에게 비밀 메시지를 전송합니다.

수신

공개 메시지

IChatClientListener 인터페이스의 OnGetMessages()를 구현하여 공개 메시지 수신을 처리 합니다.

모든 공개 메시지는 일반적으로 Dictionary<string, ChatChannel> PublicChannels 로 캐시되므로 별도로 추적관리할 필요는 없습니다. PrivateChannels 에 대한 키는 채널 이름 입니다.

아주 길거나 현재 대화들은 각 채널을 이력으로 잘라내고 싶을 수 있습니다.

비밀 메시지

To receive and parse private messages you implement OnPrivateMessage().

모든 비밀 메시지는 자동적으로 ChatClient.PrivateChannels 로 캐시되므로 별도로 추적 관리할 필요는 없습니다. PrivateChannels 에 대한 키는 채널 이름 입니다. (원격)사용자의 채널이름을 ChatClient.GetPrivateChannelNameByUser(name)를 이용하여 가져 옵니다.

온라인 상태

소유 상태

SetOnlineStatus() 메소드를 이용하여 플레이어의 온라인 상태를 설정 합니다. 실제 상태와 선택적으로 상태메시지를 전달 합니다.

정수값으로 자신만의 상태를 정의 합니다.

친구들의 상태

Photon에게 사용자명 배열을 전달하여 앞으로의 상태 변경사항을 받습니다.

친구마다 IChatClientListener 인터페이스의 OnStatusUpdate() 에 친구의 현재상태를 수신 할 것 입니다.

지원 받기

우리 Photon 팀(때로 포토니안이라고도 합니다 :)은 귀하를 도와드리려고 존재 합니다. 질문사항, 의문사항, ... 또는 잘 동작하지 않는 앱을 동작시키고 싶으신 경우 아래 형태를 선택하여 연락 주세요.

더 빠른 지원 받기

재현 단계를 포함하여 아래사항을 같이 주시면 빠른 지원을 받으 실 수 있습니다:

  • Photon 클라이언트 SDK 버전
    • SDK 압축 파일명의 부분입니다.
    • PUN의 경우는 PhotonNetwork.versionPun 값을 전달하여 주세요.
  • Photon Cloud
    • AppId Connect*() 호출할 때 설정되고 있는 게임 버전을 적어 주세요.
    • 룸에서 어려움을 겪고 있다면 RoomName과 룸의 서버 주소를 보내주세요. C# 에서 룸에 있을 동안 client.CurrentServerAddress를 로그에 기록해 주세요.
    • 지역서버 주소를 알려주세요.
  • Photon Server
    • 서버를 호스팅하시나요? 서버 SDK 버전을 알려주세요. 다시 말씀드리지만 SDK 압축 파일명에 있습니다.
    • log 를 추가해주세요.

연락 하기

문서에 추가적인 데모, 더 상세한 문서, FAQ 또는 예제 어플리케이션등 추가 및 보완해야 하는 사항이 있으면 알려주세요. 귀하의 의견은 developer@photonengine.kr 로 제안하여 주시면 감사하겠습니다.

Photon 에 대해서 더 많이 학습을 원하시나요?

시작하려면 무료 플랜을 시도 해 보세요

우리가 어떤 이벤트 행사에 참가하는지 알아보세요

미팅 요청을 하세요.

 To Document Top