IM 模块提供聊天室、私聊、实时语音功能。
接口描述:实时语音登录功能,在初始化完成之后,进入游戏的时候调用。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("user_id", userId); // 用户名
params.Add("password", passwrod); // 密码
params.Add("token", token); // 使用服务器 token 验证模式时使用该参数,否则使用空字符串
SuperSDK.getInstance().Invoke("social", "YMLogin", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMLogin"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// YM 登录成功
}
else
{
// YM 登录失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMLogin,
result : {
"msg":"登录成功",
"data":{
"user_id":"100"
},
"code":1
}
接口描述:退出账号功能。
接口调用:
SuperSDK.getInstance().Invoke("social", "YMLogout", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMLogout"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// YM 注销成功
}
else
{
// YM 注销失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMLogout,
result : {
"msg":"注销成功",
"code":1
}
接口描述:多人聊天,进入同一个房间。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("room_id", roomId); // 房间号,全局唯一
SuperSDK.getInstance().Invoke("social", "YMJoinChatRoom", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMJoinChatRoom"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// YM 加入频道成功
}
else
{
// YM 加入频道失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMJoinChatRoom,
result : {
"msg":"加入频道成功",
"data":{
"room_id":"1000"
},
"code":1
}
接口描述:离开房间。
注意:离开房间后,无法接收到房间信息。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("room_id", roomId);
SuperSDK.getInstance().Invoke("social", "YMLeaveChatRoom", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMLeaveChatRoom"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// YM 离开频道成功
}
else
{
// YM 离开频道失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMLeaveChatRoom,
result : {
"msg":"离开频道成功",
"data":{
"room_id":"1000"
},
"code":1
}
接口描述:即时通信私聊功能,发送私聊,群聊文本信息。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("receiver_id", strRecvID); // 私聊表示接受者的 id,群聊表示频道的 roomid
params.Add("chat_type", chatType); // ChatType,1 是私聊,2 是频道聊天
params.Add("content", msgContent); // 发送的文本内容
SuperSDK.getInstance().Invoke("social", "YMSendTextMessage", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMSendTextMessage"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// YM 离开频道成功
}
else
{
// YM 离开频道失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMSendTextMessage,
result : {
"msg":"发送消息成功",
"data":{
"forbid_end_time":0,
"message_id":1528372098303,
"is_forbid_room":false,
"send_time":1528375337,
"reason_type":0
},
"code":1
}
接口描述:发送语音消息,同时会回调语音识别出来的文字。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("receiver_id", strRecvID); // 私聊表示接受者的 id,群聊表示频道的 roomid
params.Add("chat_type", chatType); // ChatType,1 是私聊,2 是频道聊天
SuperSDK.getInstance().Invoke("social", "YMStartRecordAudioMessage", params);
接口描述:仅发送语音消息,不会将语音识别成文字。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("receiver_id", strRecvID); // 私聊表示接受者的 id,群聊表示频道的 roomid
params.Add("chat_type", chatType); // ChatType,1 是私聊,2 是频道聊天
SuperSDK.getInstance().Invoke("social", "YMStartOnlyRecordAudioMessage", params);
接口描述:即时通信私聊功能,给单独游戏玩家发送私聊语音信息(停止录音并发送)。
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("attach_msg", attach_msg);
SuperSDK.getInstance().Invoke("social", "YMStopAndSendAudioMessage", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMStopAndSendAudioMessage"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 发送语音消息成功
}
else
{
// 发送语音消息失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMStopAndSendAudioMessage,
result : {
"msg":"发送语音消息成功",
"data":{
"message_content":"喂喂喂",
"send_time":1528376335,
"is_forbid_room":false,
"message_id":1528376309021,
"audio_time":5,
"forbid_end_time":0,
"path":"\/var\/mobile\/Containers\/Data\/Application\/53EB7877-E862-40D4-B57D-32C622663E84\/Library\/Caches\/AudioRecord\/2611715137.pcm.wav",
"reason_type":0
},
"code":1
}
接口描述:取消录音不发送。
接口调用:
SuperSDK.getInstance().Invoke("social", "YMCancleAudioMessage", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMCancleAudioMessage"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 取消录音成功
}
else
{
// 取消录音失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMCancleAudioMessage,
result : {
"msg":"取消录音成功",
"code":1
}
接口调用:
Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("path", path); // 音频文件地址
SuperSDK.getInstance().Invoke("social", "YMStartPlayAudio", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMStartPlayAudio"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 播放语音成功
}
else
{
// 播放语音失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMStartPlayAudio,
result : {
"msg":"播放语音成功",
"data":{
"path":"\/var\/mobile\/Containers\/Data\/Application\/3FF94CCD-DB55-44EC-B74B-D108FF1B85F0\/Library\/Caches\/AudioRecord\/3992812021.pcm.wav"
},
"code":1
}
接口调用:
SuperSDK.invoke("social", "YMStopPlayAudio", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMStopPlayAudio"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 停止语音播放成功
}
else
{
// 停止语音播放失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMStopPlayAudio,
result : {
"msg" : "停止语音播放成功",
"code" : 1
}
接口描述:先判断 msgType 类型,YIMService.MessageBodyType.Voice 表示语音消息,YIMService.MessageBodyType.TXT 文字消息。
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMOnReceiveMessage"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 收到文本消息成功
}
else
{
// 收到文本消息失败
}
}
}
}
文本消息回调:
moduleName : social,
funcName : YMOnReceiveMessage,
result :{
"code": 1,
"msg": "收到文本消息成功",
"data": {
"message_content": "大王叫我来巡山😌",
"distance": "0",
"message_id": 1529911792939,
"message_type": "1",
"create_time": 1529911792,
"chat_type": "1",
"receiver_id": "100",
"sender_id": "200"
}
}
语音消息回调:
moduleName : social,
funcName : YMOnReceiveMessage,
result :{
"code": 1,
"msg": "success",
"data": {
"message_content": "还给你发了。",
"distance": "0",
"message_id": 1529911772907,
"message_type": 5,
"file_size": "-1", //安卓目前无法拿到文件大小,所以统一回调给的是-1
"audio_time": 6,
"create_time": 1529911772,
"path": "\/storage\/emulated\/0\/Android\/data\/com.youzu.samsung.iap\/files\/im\/1529911772907.wav",
"chat_type": 1,
"receiver_id": "100",
"sender_id": "200"
}
}
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("user_id", strUserID);
params.Add("room_id", strRoomID);
SuperSDK.getInstance().Invoke("social", "YMJoinChannelSingleMode", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMJoinChannelSingleMode"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 加入语音频道成功
}
else
{
// 加入语音频道失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMJoinChannelSingleMode,
result : {
"msg":"加入语音频道成功",
"data":{
"room_id":"1000",
"param":"100"
},
"code":1
}
接口调用:
SuperSDK.getInstance().Invoke("social", "YMLeaveChannelAll", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMLeaveChannelAll"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 离开语音频道成功
}
else
{
// 离开语音频道失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMLeaveChannelAll,
result : {
"msg":"离开语音频道成功",
"data":{
"room_id":"",
"param":""
},
"code":1
}
接口描述:开始录音功能(需要在初始化成功后,登录成功之后调用),结束录音调用”停止录音”,取消录音调用”取消录音”。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("translate", "0"); // 是否翻译成文字 1:翻译 0:不翻译
SuperSDK.getInstance().Invoke("social", "YMStartAudioSpeech", params);
接口描述:停止录音功能(需要在启动录音之后调用),不通过游密发送该语音消息!
接口调用:
SuperSDK.getInstance().Invoke("social", "YMStopAudioSpeech", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMStartAudioSpeech"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 录音成功
}
else
{
// 录音失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMStartAudioSpeech,
result : {
"msg":"录音成功",
"data":{
"path":"/var/mobile/Containers/Data/Application/637A42E0-85B7-4CDC-810A-567AF6FA2A86/Library/Caches/AudioRecord/3033701311.wav",
"audio_time":4,
"message_content":"一二三四五六七。",
"download_url":"https://cn-s-youme-im.s3.cn-north-1.amazonaws.com.cn/9f/9f47e7d27a6246b8a4ddd8ff844cfc14.amr?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAPNCTFJWBUFW4LOPA%2F20201217%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20201217T080719Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=f994b561c0de1f09ea5e409dcd5631ee45cf4f1b7bb3b496816aa1a315db1a67",
"file_size":117452
},
"code":1
}
接口描述:根据录音返回的 download_url 链接下载录音文件。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
// 语音文件的 url 地址,YMStartAudioSpeech 返回的 downloadURL 地址
params.Add("downloadURL", "https://cn-s-youme-im.s3.cn-north-1.amazonaws.com.cn/9f/9f47e7d27a6246b8a4ddd8ff844cfc14.amr?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAPNCTFJWBUFW4LOPA%2F20201217%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20201217T080719Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=f994b561c0de1f09ea5e409dcd5631ee45cf4f1b7bb3b496816aa1a315db1a67");
params.Add("strSavePath", "保存本地的路径");
SuperSDK.getInstance().Invoke("social", "YMDownloadAudioByUrl", params);
日志打印:
moduleName : social,
funcName : YMDownloadAudioByUrl,
result : {
"msg":"根据url下载录音文件成功",
"data":{
"audioTime":2,
"strFromUrl":"https:\/\/cn-s-youme-im.s3.cn-north-1.amazonaws.com.cn\/00\/0084cb70c9036dde0493dd97574c12ef.amr?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAPNCTFJWBUFW4LOPA%2F20230823%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-Date=20230823T085648Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=03597706b336e49ce3a128454f47487ef3a26b1da754220cf99b3221bd4c3252",
"strSavePath":"\/var\/mobile\/Containers\/Data\/Application\/0378A130-F026-4D2F-9C77-6FDEEA52A010\/Library\/Caches\/test.wav"
},
"code":1
}
接口描述:设置录音时用于保存录音文件的缓存目录,如果没有设置,SDK 会在 APP 默认缓存路径下创建一个文件夹用于保存音频文件。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("path", "xxx"); // 缓存目录绝对路径,需要先创建好该目录
SuperSDK.getInstance().Invoke("social", "YMSetAudioCachePath", params);
接口描述:返回当前设置的录音缓存目录的完整路径。
接口调用:
string cachePath = SuperSDK.getInstance().InvokeString("social", "YMGetAudioCachePath", null);
接口描述:清空当前设置的录音缓存目录。
接口调用:
bool cachePath = SuperSDK.getInstance().InvokeBool("social", "YMClearAudioCachePath", null); // 1 成功, 0 失败
接口描述:必须是已经进入的房间。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("room_id", roomId);
SuperSDK.getInstance().Invoke("social", "YMGetRoomMemberCount", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMGetRoomMemberCount"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 获取房间成员数量成功
}
else
{
// 获取房间成员数量失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMGetRoomMemberCount,
result : {
"msg":"获取房间成员数量成功",
"data":{
"room_id":"1000",
"count":1
},
"code":1
}
接口描述:适用于语音转文字,再发送文字消息。
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("recognition", "1"); // 0 识别语音文字并发送语音消息、1 只识别语音的文字
SuperSDK.getInstance().Invoke("social", "YMSetOnlyRecognizeSpeechText", params);
日志打印:
moduleName : social,
funcName : YMSetOnlyRecognizeSpeechText,
parameters : {
"msg" : "设置只识别语音文字成功",
"code" : 1
}
日志打印:
moduleName : social,
funcName : YMOnGetRecognizeSpeechText,
result : {
"msg" : "识别语音文字成功",
"data" : {
"message_content" : "嘿嘿。",
"message_id" : 1529490319218
},
"code" : 1
}
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("user_id", userID); // 用户 ID
params.Add("block", block); // 0 解除屏蔽/其他屏蔽
SuperSDK.getInstance().Invoke("social", "YMBlockUser", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMBlockUser"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 屏蔽/解除屏蔽用户消息回调成功
}
else
{
// 屏蔽/解除屏蔽用户消息回调失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMBlockUser,
result : {
"msg" : "屏蔽/解除屏蔽用户消息回调成功",
"data" : {
"user_id" : "100",
"block" : "0" // 0 解除屏蔽 / 1 其他屏蔽
},
"code" : 1
}
接口调用:
SuperSDK.getInstance().Invoke("social", "YMUnBlockAllUser", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMUnBlockAllUser"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 解除所有已屏蔽用户成功
}
else
{
// 解除所有已屏蔽用户失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMUnBlockAllUser,
result : {
"msg" : "解除所有已屏蔽用户成功",
"code" : 1
}
接口调用:
SuperSDK.getInstance().Invoke("social", "YMGetBlockUsers", null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMGetBlockUsers"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 获取被屏蔽消息用户成功
}
else
{
// 获取被屏蔽消息用户失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMGetBlockUsers,
result : {
"code": 1,
"msg": "获取被屏蔽消息用户成功",
"data": {
"user_list": [
"0num",
"1num",
]
}
}
接口描述:对用户的违规行为进行举报,管理员在后台进行审核处理并将结果通知用户。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("user_id", userID); // 被举报用户 ID
params.Add("chat_type", source); // 来源(私聊 频道) 1 私聊、 2 聊天室
params.Add("reason", reason); // 原因
params.Add("description", description); // 原因描述
params.Add("nickname", nickname); // 昵称
params.Add("vip_level", vip_level); // VIP 等级
params.Add("level", level); // 角色等级
SuperSDK.getInstance().Invoke("social", "YMAccusation", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMAccusation"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 收到举报处理结果成功
}
else
{
// 收到举报处理结果失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMAccusation,
result : {
"msg" : "收到举报处理结果",
"data" : {
"user_id" : "100",
"result" : "1",
"accusation_time" : 1529571229
},
"code" : 1
}
接口描述:默认输出到扬声器,在加入房间成功后设置,如无听筒输出的需求尽量不要调用该接口。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("loudspeaker","0"); // 0:输出到扬声器,1:输出到听筒
SuperSDK.getInstance().Invoke("social", "YMsetOutputToSpeaker", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMsetOutputToSpeaker"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 切换语音输出设备成功
}
else
{
// 切换语音输出设备失败
}
}
}
}
日志打印:
moduleName : social,
funcName : YMsetOutputToSpeaker,
result : {
"msg" : "切换语音输出设备成功",
"code" : 1
}
接口描述:打开/关闭扬声器,该状态值在加入房间成功后设置才有效。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("mute","1"); // 0:关闭扬声器,1:开启扬声器
SuperSDK.getInstance().Invoke("social", "YMsetSpeakerMute", params);
接口描述:打开/关闭麦克风,该状态值在加入房间成功后设置才有效。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("mute","1"); // 0:关闭麦克风,1:开启麦克风
SuperSDK.getInstance().Invoke("social", "YMsetMicrophoneMute", params);
接口描述:设置当前程序输出音量大小,建议该状态值在加入房间成功后按需再重置一次。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("volume","1"); // 音量大小,范围[0-100]
SuperSDK.getInstance().Invoke("social", "YMSetVolume", params);
接口描述:获取当前程序输出音量大小,此音量值为程序内部的音量,与系统音量相乘得到程序使用的实际音量。
接口调用:
SuperSDK.getInstance().Invoke("social", "YMGetVolume",null);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMGetVolume"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 获取音量成功
}
else
{
// 获取音量失败
}
}
}
}
日志打印:
moduleName:social
funcName:YMGetVolume
result:{
"code":1,
"msg":"获取音量成功",
"data":{
"volume":1
}
}
接口描述:设置当麦克风静音时,是否释放麦克风设备(需要在初始化成功后,加入房间之前调用)。
释放:当麦克风静音时,释放麦克风设备,此时允许第三方模块使用麦克风设备录音。
不释放:不管麦克风是否静音,麦克风设备都会被占用。
接口调用:
Dictionary<string,string> params = new Dictionary<string,string>();
params.Add("releasemic","1"); // 0:释放麦克风,1:不释放麦克风
SuperSDK.getInstance().Invoke("social", "YMSetReleaseMicWhenMute", params);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("social"))
{
if (funcName.Equals("YMSetReleaseMicWhenMute"))
{
JsonData resultData = JsonMapper.ToObject(result);
int code = (int)resultData["code"];
// string msg = JsonMapper.ToJson(resultData["data"]);
if (code == SuperSDKConstants.SUCCESS)
{
// 设置是否释放麦克风成功
}
else
{
// 设置是否释放麦克风失败
}
}
}
}
日志打印:
moduleName:social
funcName:YMSetReleaseMicWhenMute
result:{
"code":1,
"msg":"设置是否释放麦克风成功"
}