集成思路

如果是自己的小游戏的话,可以把好友等信息直接保存在亲加服务器上,通过调用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,);

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);
}
}
}

最新文章

  1. 自定义RatingBar的一个问题(只显示显示一个星星)
  2. iOS,信息加解密
  3. Shell Script (2) - global.sh
  4. zepto源码--核心方法6(显示隐藏)--学习笔记
  5. LintCode 字符串比较
  6. 对象的继承关系在数据库中的实现方式和PowerDesigner设计
  7. MATLAB代码
  8. 经验之巧妙的应用Map
  9. ThinkPHP CURD方法盘点:data方法
  10. css3之gradient
  11. 简单的python协同过滤程序
  12. xapp1151_Param_CAM模块安装
  13. container
  14. c# int类型的转datetime类型
  15. [PKUWC2018] Slay the spire
  16. linux学习记录.6.vscode调试c makefile
  17. Kerberos主从配置文档
  18. [CQOI2016]K远点对
  19. HttpDns原理
  20. ubuntu 16.04 安装VS CODE时 此软件来自第三方且可能包含非自由组件

热门文章

  1. hdu 2665 划分树
  2. 4k 对齐,你准备好了吗?
  3. [Wordpress]Wordpress使用SMTP发送电邮
  4. Web前端学习笔记1
  5. Map集合的四种遍历方式
  6. Java之绘制艺术图案
  7. GPU总结(1)
  8. Contoso 大学 - 2 – 实现基本的增删改查
  9. UIPickerView常见属性、常见方法(包括代理方法和数据源方法)的一些说明
  10. PHP标签的格式