UserID와 친구

UserID

Photon에서, 플레이어는 고유한 UserID를 사용하여 식별됩니다.

여러 클라이언트에서 동일한 UserID를 사용하여 Photon 채널을 구독할 수 있습니다. 각 클라이언트에서 동일한 메시지가 수신됩니다. 또한 동일한 UserID로 연결하고 있는 모든 클라이언트는 동일한 채널을 구독하며 해당 시간에 동일한 친구를 가지게 됩니다.

Back To Top

유일한 UserID

일반적으로 사용자 ID는 사용자이름, 표시이름 또는 닉네임과 같이 화면에 나타나지는 않습니다. UserID는 사람이 읽기 쉬울 필요는 없으며 사용자 친화적일 필요도 없습니다. 예를 들어 GUID를 사용자 ID로 사용할 수 있습니다.

플레이어마다 고유한 UserID를 유지할 때의 이점:

  • 게임 세션 간에 또는 여러 기기 간에 데이터를 보존할 수 있습니다. 룸에 다시 가입하고 중지한 위치에서 다시 플레이 할 수 있습니다.
  • 만났던 모든 플레이어들에게 알려지며 누구나 쉽게 알아볼 수 있습니다. 친구들과 플레이, 초대장 보내기, 도전하기, 온라인 파티 만들기, 팀과 길드 만들기를 할 수 있습니다. 사용자 프로필(예:경험, 통계, 성과, 레벨 등)을 추가하고 게임을 더욱 어렵게 만들 수 있습니다(예:토너먼트 및 리더 보드 사용).
  • PhotonUserID를 외부 고유 식별자로 사용하여 다른 서비스와 바인딩하여 사용할 수 있습니다. 예를 들어 Photon User ID를 Facebook ID, Google ID, Steam ID, PlayFab ID등으로 설정할 수 있습니다.
  • 사용자 ID에 대한 블랙리스트를 만들어 어플리케이션에 연결하는 악의적인 사용자를 금지할 수 있습니다. .

Back To Top

UserID 설정하기

The UserID for a client can be set in three ways:

인증후에, Photon 클라이언트는 연결이 끊어질 때까지 동일한 UserID를 유지할 것 입니다. 클라이언트의 UserID는 3가지 방식으로 설정할 수 있습니다:

  1. 클라이언트는 AuthenticationValues.UserId 을 설정하여 연결전에 UserID를 전송합니다. 이 옵션은 을 사용하지 않고 UserID를 설정하기 원하는 경우에 유용합니다.
  2. 외부 인증 공급자는 성공적인 인증시에 UserID를 리턴합니다. . 클라이언트가 전송한 모든 값이 오버라이드 될 것 입니다.
  3. Photon 서버는 1 또는 2의 방법을 사용하여 UserID를 얻지 못하면 사용자의 ID로 GUID를 할당할 것 입니다. 따라서 익명의 사용자도 UserID를 갖게될 것 입니다.

Back To Top

친구

사용하는 기기, 플랫폼에 관계없이 동일 Photon Cloud 지역, 동일한 AppID, 동일한 Photon AppVersion 으로 연결을 하면 친구들을 찾을 수 있습니다.

Photon Chat keeps your friends list in memory as long as you are connected. However this list is not persisted between sessions. You may need an external service for that.

Photon Chat은 연결이 되어있으면 친구 목록을 메모리에 저장합니다. 그러나 세션 간에 이 목록은 유지되지 않습니다. 목록을 저장하기 위해 외부 서비스가 필요할 수도 있습니다. Back To Top

친구 추가와 삭제

You can add friends on Photon Chat and subscribe to his/her status updates. If you do so, you will receive an event every time that same friend changes his/her status or goes offline.

Photon Chat에서 친구를 추가하고 변경된 상태를 구독할 수 있습니다. 이렇게 하면 같은 친구가 상태를 변경하거나 오프라인 상태가 될 때마다 이벤트가 수신됩니다.

You can add or remove up to 512 friends at once. 한번에 최대 512명의 친구를 추가하거나 제거할 수 있습니다.

To add friends to Photon Chat: Photon Chat에서 친구 추가는 다음과 같습니다:

chatClient.AddFriends(friendsUserIds);

When you no longer need to listen to those events you could remove that friend and unsubscribe from his/her status updates. 더 이상 이러한 이벤트를 받을 필요 없는 경우 해당 친구를 제거하고 상태 업데이트 수신을 취소할 수 있습니다.

To remove friends from Photon Chat: Photon Chat에서 친구 제거는 다음과 같습니다:

chatClient.RemoveFriends(friendsUserIds);

To receive status updates from your friends you should implement: 친구들로 부터 상태 갱신을 수신받기 위해서는 다음과 같이 구현합니다:

void IChatClientListener.OnStatusUpdate(string user, int status, bool gotMessage, object message);

Back To Top

상태 업데이트

You can update your status on Photon Chat and broadcast this to all your friends. Photon Chat에서 상태를 업데이트하고 모든 친구에게 브로드캐스트 할 수 있습니다.

Here is how to do it: 사용하는 방법입니다:

chatClient.SetOnlineStatus(statusCode);

You can find a list of predefined online status codes in ChatUserStatus class. If you set your online status to ChatUserStatus.Invisible then all your friend will see you as ChatUserStatus.Offline instead. You are free to add custom ones not available on that list and used by your application.

ChatUserStatus 클래스에서 사전 정의된 온라인 상태 코드 목록을 확인할 수 있습니다. 온라인 상태를 ChatUserStatus.Invisible로 설정하면 모든 친구가 ChatUserStatus.Offline 로 표시됩니다. 해당 목록에 없고 어플리케이션에서 사용하는 사용자 지정 항목을 추가할 수 있습니다.

By design, Photon Chat does not implicitly broadcast ChatUserStatus.Online or any other status when you connect. That is why you need to explicitly set yourself to online as soon as you are connected if you want to have this behaviour.

Photon Chat은 연결할 때 ChatUserStatus.Online 또는 다른 상태를 암시적으로 브로드캐스팅하지 않습니다. 이러한 동작을 수행하려면 연결되는 즉시 온라인으로 설정해야 합니다.

Optionally you can add a message with the updated status code. The message will not be sent in case of the two special status codes ChatUserStatus.Offline and ChatUserStatus.Invisible.

선택적으로 업데이트된 상태 코드와 함께 메시지를 추가할 수 있습니다. ChatUserStatus.OfflineChatUserStatus.Invisible 두가지 특별 상태 코드인 경우에는 메시지가 전송되지 않습니다.

In this case use the overload method that takes two parameters: 이 경우 두 개의 파라미터를 받아들이는 오버로드 메소드를 사용합니다.

chatClient.SetOnlineStatus(statusCode, statusMessage);

You could use the status update feature to exchange any type of data (that Photon can serialize) with your friends. It is not limited to strings only.

상태 업데이트 기능을 사용하여 Photon이 직렬화할 수 있는 것은 문자열로만 한정되지 않으며 모든 유형의 데이터를 친구와 교환할 수 있습니다.

기술문서 TOP으로 돌아가기