unity手游之聊天SDK集成與使用二


集成思路

如果是自己的小游戲的話,可以把好友等信息直接保存在親加服務器上,通過調用api來操作。

 

我們游戲只使用sdk的通信功能,好友等信息保存在自己的服務器上。

用戶在登陸游戲的時候,通過算法用用戶的唯一ID去登陸 親加SDK。(去登陸聊天SDK的用戶ID或創建群時的ID可以 通過用戶ID/公會ID 再用算法加工變換一下生成一個,避免重復)

游戲服務器不集成親加SDK,只有前端集成。

下面SDK指親加聊天SDK API接口

服務器通知前端 游戲登陸成功: 前端-調用聊天sdk api登陸 ,前端-從服務器獲取聊天室列表,通過sdk進入世界聊天室、(公會)聊天群(如果有公會的話)
服務器通知前端 創建公會成功: 前端-sdk 創建(公會)聊天群【公開群】
服務器通知前端 加入公會成功: 前端-調用sdk 加入(公會)聊天群
服務器通知前端 公會踢出玩家/玩家退出公會 成功: 前端-調用sdk 退出(公會)聊天群 等。

 
語音API使用
 注:如果在PC上測試,發送語音,需要插上帶麥克的耳機,或者話筒,才能發語音成功。必須監聽ChatListener,否則無法收到回調。
 
創建語音
1.開始錄音
api.StartTalk (new GotyeUser(talkToName),GotyeWhineMode.GotyeWhineModeDefault,false,600000);

2.結束錄音

api.StopTalk();

3.在StopTalk的回調里,發送語音

public void onStopTalk(GotyeStatusCode code, bool realtime, GotyeMessage message)
{
   //StartTalk里參數是否是實時語音必須為false,否則message為null
  //發送語音
  api.SendMessage(message); }

接收語音
接收消息(文本/圖片/語音)

public override void onReceiveMessage(GotyeMessage message)
  {
        if (message.Type == GotyeMessageType.Text) {

        }
        else if(message.Type == GotyeMessageType.Audio)
        {
            if(File.Exists(message.Media.Path))//如果本地有這個語音文件,直接播放這個消息
            {
                api.PlayMessage(message);
            }
            else
            {
                //下載語音文件
                api.DownloadMediaInMessage(message);
            }
        }
    }    

下載語音/圖片文件,並播放

public void onDownloadMediaInMessage(GotyeStatusCode code, GotyeMessage message)
    {
        if (code == GotyeStatusCode.CodeOK) {
            if (message.Type == GotyeMessageType.Image) {
                 Debug.Log ("下載消息中的圖片成功!");                
            } else if (message.Type == GotyeMessageType.Audio) {
           Debug.Log ("下載消息中的音頻成功!");
                 GotyeMedia media = message.Media;
          //播放語音
                 api.PlayMessage(message);
            }            
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM