top of page

Study] Photon Cloud(Unity)-20 (END)

  • 작성자 사진: 김영호
    김영호
  • 2023년 2월 10일
  • 1분 분량

최종 수정일: 2023년 4월 28일

  • ChatClient

ChatClient : 포톤 채팅 객체

ChatClient.Connect(string appID, string appVersion, AuthenticationValues authValues)

- appID : PhotonNetwork.PhotonServerSettings.AppSettings.AppIdChat;

- appVersion : PhotonNetwork.Appversion;

- AuthenticationValues : new AuthenticationValues("...");

ChatClient.Service() : Work Photon Chat

ree

  • ChatClient.Subscribe(string channel)

ChatClient.Subscribe("채널 이름") : Chat Channel에 입장



using Photon.Chat;
using ExitGames.Client.Photon;

public class Chat : MonoBehaviour, IChatClientListener
{
    ...
    ...
    ...
    
    public void OnConnected()
    {
        Debug.Log("Photon Chat] Connet");

        //채팅방으로 돌아가기 "방"을 "채널"이라고 함
        chatClient.Subscribe(channelName);
        Debug.Log("Channel Name] " + channelName);
    }
}

  • Publish(Send)/Get(Receive) Message

- ChatClient.PublishMessage(string channelName, string message)


using Photon.Chat;
using ExitGames.Client.Photon;

public class Chat : MonoBehaviour, IChatClientListener
{
    ...
    ...
    ...
    
    //On Click Event Send Button
    public void OnClickSend()
    {
        //입력된 Text 가져오기
        string text = inputField.text;

        //입력내용 전송하기
        chatClient.PublishMessage(channelName, text);

        //이전 입력 내용 삭제
        inputField.text = "";
    }
}

- public void OnGetMessages(string channelName, string[] senders, object[] messages)


using Photon.Chat;
using ExitGames.Client.Photon;

public class Chat : MonoBehaviour, IChatClientListener
{
    ...
    ...
    ...
    
    public void OnGetMessages(string channelName, string[] senders, object[] messages)
    {
        Debug.Log("Channel Name : + channelName);
        for (int i = 0; i < senders.Length; i++)
        {
            Debug.Log("[" + senders[i] + "] : " + messages[i];
        }
    }
}
  • Test Publish/Get



  • Message print to UI


using Photon.Chat;
using ExitGames.Client.Photon;

public class Chat : MonoBehaviour, IChatClientListener
{
    ...
    ...
    ...
    
    public void OnGetMessages(string channelName, string[] senders, object[] messages)
    {
        if (this.channelName == channelName)
        {
            for (int i = 0; i < senders.Length; i++)
            {
                if (messages[i].ToString().Length > 0)
                    outputText.text += "\n[" + senders[i] + "] " + messages[i];
            }
        }
    }
}
ree

  • 다른 Channel 구분 Test

ree

  • Facebook
  • Twitter
  • LinkedIn

©2021 by 김영호_포트폴리오. Proudly created with Wix.com

bottom of page