unity手游之聊天SDK集成与使用二
集成思路
如果是自己的小游戏的话,可以把好友等信息直接保存在亲加服务器上,通过调用api来操作。
我们游戏只使用sdk的通信功能,好友等信息保存在自己的服务器上。
用户在登陆游戏的时候,通过算法用用户的唯一ID去登陆 亲加SDK。(去登陆聊天SDK的用户ID或创建群时的ID可以 通过用户ID/公会ID 再用算法加工变换一下生成一个,避免重复)
游戏服务器不集成亲加SDK,只有前端集成。
下面SDK指亲加聊天SDK API接口
服务器通知前端 游戏登陆成功: 前端-调用聊天sdk api登陆 ,前端-从服务器获取聊天室列表,通过sdk进入世界聊天室、(公会)聊天群(如果有公会的话)
服务器通知前端 创建公会成功: 前端-sdk 创建(公会)聊天群【公开群】
服务器通知前端 加入公会成功: 前端-调用sdk 加入(公会)聊天群
服务器通知前端 公会踢出玩家/玩家退出公会 成功: 前端-调用sdk 退出(公会)聊天群 等。
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);
}
}
}
unity手游之聊天SDK集成与使用二的更多相关文章
- unity手游之聊天SDK集成与使用一
手游中都有聊天功能,比如公会,私聊,世界聊天,那么找一个好用,功能强大的SDK的可以节省很多精力,帮助我们提高开发速度与游戏质量. 写本篇博文是为了方便使用这个SDK做聊天模块的程序,避免许多坑,我在 ...
- 知物由学|游戏开发者如何从容应对Unity手游风险?
本文由 网易云发布. "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不 ...
- Unity手游之路<七>角色控制器
Unity手游之路<七>角色控制器 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作, ...
- Unity手游引擎安全解析及实践
近日,由Unity主办的"Unity技术开放日"在广州成功举办,网易移动安全技术专家卓辉作为特邀嘉宾同现场400名游戏开发者分享了网易在手游安全所积累的经验.当下,很多手游背后都存 ...
- Unity手游之路<二>Java版服务端使用protostuff简化protobuf开发
http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unit ...
- Unity手游之路<八>自动寻路Navmesh之入门
http://blog.csdn.net/janeky/article/details/17457533 在的大部分mmo游戏都有了自动寻路功能.点击场景上的一个位置,角色就会自动寻路过去.中间可能会 ...
- Unity手游之路<十三>手游代码更新策略探讨
http://blog.csdn.net/janeky/article/details/25923151 这几个月公司项目非常忙,加上家里事情也多,所以blog更新一直搁置了.最近在项目开发上线过程中 ...
- Unity手游之路<六>游戏摇杆之Easy Touch 3教程
之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单.但是它也存在很多局限,不能全部满足普通mmo手游的一些需求,例如:要能方便地更好素材:能指定在某个区域显示,或者只有在该区域触摸时才 ...
- Unity手游之路手游代码更新策略探讨
版权声明: https://blog.csdn.net/janeky/article/details/25923151 这几个月公司项目非常忙.加上家里事情也多,所以blog更新一直搁置了. 近期在项 ...
随机推荐
- DisableExplicitGC和Direct ByteBuffer
直接堆外内存请参见:http://blog.csdn.net/lantian0802/article/details/39257087 JVM调优请参见:http://hllvm.group.itey ...
- web项目的两个创建形式website和webapplication(转)
前言 在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,还可以选择使用 webapplication应用程序.刚刚接触web开发,看到这两个就疑惑了,既然是都可 ...
- 新增html元素的使用
今天学习HTML5中新增元素的使用 (Ⅰ)新增主体结构元素 Section元素:用于对网站或应用程序中的内容进行分块. <section> <h1></h1> &l ...
- this指针在不同情况下的指代
说不同情况了吧,首先要分有几种情况使用this,然后再说分别指代什么 1)如果是一般标签下函数调用,this指代全局对象,也就是window对象或者document对象 2)如果在嵌套函数中被嵌套的 ...
- 基本STRUTS标签-学习笔记-Bean标签
<bean:include> 和标准的JSP标签<jsp:include>很相似,都可以用来包含其他Web资源的内容,区别在于<bean:include>标签把其它 ...
- android手机操作SD的使用方法
写入SD卡 package com.example.openfileproject; import java.io.File; import java.io.FileInputStream; impo ...
- [UNIX环境高级编程](第三版)中apue.h的问题
编译 gcc -g myls.c 时,报错 ‘找不到头文件 apue.h’ apue.h是作者自己写的一个文件,系统不自带.其中包含了常用的头文件,以及出错处理函数的定义. 需要到 http://ww ...
- 服务器 tfs不提供 TeamFoundation服务。基础连接已经关闭
服务器 tfs(服务器名或url)不提供 TeamFoundation服务.基础连接已经关闭,发送时发生错误.TFS突然间连接不上到,到服务器上配置团队项目的组成员资格提示这样的错误,客户端连接的时候 ...
- xamarin.ios 豆瓣电台视频教程
视频中提到的网址: http://www.sufeinet.com/thread-655-1-1.html https://github.com/akfish/fm-terminal/blob/dev ...
- Linux 获取文件夹下的所有文件
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4129616.html #include <string> #include &l ...