supersdk

文档中心

文档中心

下载文档

社交模块


社交模块提供接入第三方社交SDK的功能支持,目前支持QQ提供的社交功能。

接入前准备

游戏需要先找SuperSDK对外接口人沟通。该模块还需要第三方社交团队的支持。

韩国Cafe社区

##启动PLUG(游戏社区页) 接口调用:打开PLUG(游戏社区页)

SuperSDK.getInstance().Invoke("social","CafeStartHome",null);

##打开微件(悬浮框) 接口调用:打开微件(悬浮框)

SuperSDK.getInstance().Invoke("social", "CafeStartWidget", null);

##关闭微件(悬浮框) 接口调用:强制关闭微件(悬浮框)

SuperSDK.getInstance().Invoke("social", "CafeStopWidget", null);

游族社区


初始化

接口描述:在登录之前,和打开社区之前调用,用来拉取社区的配置。

接口调用:

Dictionary<string, object> paramsDic = Dictionary<string, object>();
paramsDic.Add("language", "YZPlayLanguageTypeZh");//社区要显示的语言版本
SuperSDK.getInstance().Invoke("social", "YZPInit", paramsDic);

语言参数对应列表为:
中文:YZPlayLanguageTypeZh, 
英语:YZPlayLanguageTypeEn,   
葡萄牙语 : YZPlayLanguageTypePt,
俄语:YZPlayLanguageTypeRu,
西班牙语:YZPlayLanguageTypeEs,
土耳其语:YZPlayLanguageTypeTr, 
法语:YZPlayLanguageTypeFr, 
德语 : YZPlayLanguageTypeDe,
印度尼西亚语:YZPlayLanguageTypeId,
意大利语: YZPlayLanguageTypeIt, 
波兰语:YZPlayLanguageTypePl,
泰语:YZPlayLanguageTypeTh,
越南语:YZPlayLanguageTypeVi,
繁体中文:YZPlayLanguageTypeZhHantCN

接口回调:无

日志打印:无

登录社区

接口说明:进入游戏时调用,登录票据、角色信息、服务器信息必须要传。

接口调用:

Dictionary<string, object> paramsDic = Dictionary<string, object>();
paramsDic.Add("role_name", "xxx");     //角色名,字符串,必传
paramsDic.Add("role_id", "xxx");       //角色编号,字符串,必传
paramsDic.Add("server_id", "xxx");     //服务器ID,字符串,必传
paramsDic.Add("osdk_ticket", "xxx");   //SuperSDK登录成功返回的票据,字符串,必传
paramsDic.Add("avatar_identity","xxx");//头像唯一标识,字符串,非必传,不使用这个参数时传空字符串
SuperSDK.getInstance().Invoke("social", "YZPLogin", paramsDic);

接口回调:

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("YZPLogin"))
        {
            //处理回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                //社区登录成功
            }
            else
            {
                //社区登录失败
            }
        }
    }
}

日志打印:

moduleName:social
funcName:YZPLogin
result:
{
  "code": "0",   //code0代表登录失败
  "msg": "登录失败|登录参数异常"
}

moduleName:social 
funcName:YZPLogin 
result:
{
  "code": "1",   //code0代表登录成功
  "msg": "登录成功"
}

社区是否可用

接口描述:获取社区是否可用的接口,打开社区前应先通过此接口判断社区是否可用再进行操作。

接口调用:

boolean isAvaliable = SuperSDK.getInstance().InvokeBool("social", "YZPAvaliable", null);

接口回调:无

日志打印:

社区是否可用:true

打开社区

接口描述:需先完成初始化并登录,再通过此接口打开社区。如果尚未成功初始化,或尚未成功登录,将无法打开社区。

接口调用:

SuperSDK.getInstance().Invoke("social", "YZPShow", null);

接口回调:无

日志打印:无

关闭社区

接口描述:在社区显示的时候,调用这个方法来关闭社区。

接口调用:

SuperSDK.getInstance().Invoke("social", "YZPClose", null);

接口回调:无

日志打印:无

注销账号

接口描述:账号注销接口,登出账号并清除sessionId。

接口调用:

SuperSDK.getInstance().Invoke("social", "YZPLogout", null);

接口回调:无

日志打印:无

设置社区状态监听

接口描述:监听社区的开启和关闭。

接口调用:

SuperSDK.getInstance().Invoke("social", "YZPSetViewAppearListener", 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("YZPSetViewAppearListener"))
        {
            //处理回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                //社区界面显示
            }
            else
            {
                //社区界面关闭
            }
        }
    }
}

日志打印:

moduleName:social
funcName:YZPSetStateChangeListener
result:
{
  "code": "0",
  "msg": "社区界面关闭",
}

moduleName:social
funcName:YZPSetStateChangeListener
result:
{
  "code": "1",
  "msg": "社区界面显示",
}

IM SDK 模块


游戏可以使用IMSDK模块实现聊天室、私聊、实时语音功能。

登录

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("user_id" , "100");
paramDic.Add("password" , "123456");
paramDic.Add("token" , "");
SuperSDK.getInstance().Invoke("social","YMLogin",paramDic);

接口回调:

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,string> paramDic = new Dictionary<string,string>();
paramDic.Add("room_id" , "1000");
SuperSDK.getInstance().Invoke("social","YMJoinChatRoom",paramDic);

接口回调:

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,string> paramDic = new Dictionary<string,string>();
paramDic.Add("room_id" , "1000");
SuperSDK.getInstance().Invoke("social","YMLeaveChatRoom",paramDic);

接口回调:

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,string> paramDic = new Dictionary<string,string>();
paramDic.Add("room_id" , "1000");
SuperSDK.getInstance().Invoke("social","YMGetRoomMemberCount",paramDic);

接口回调:

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)
            {
                //YM获取房间成员数量成功
            }
            else
            {
                //YM获取房间成员数量失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMGetRoomMemberCount,
result : {"msg":"获取房间成员数量成功","data":{"room_id":"1000","count":1},"code":1}

发送文本消息

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("receiver_id" , "100");	//接收者 用户ID 或者 频道ID,私聊传入userid,频道聊天传入roomid
paramDic.Add("chat_type" , "1");   // 1 私聊、 2 聊天室
paramDic.Add("content" , "文本消息内容");
SuperSDK.getInstance().Invoke("social","YMSendTextMessage",paramDic);

发送语音转文字消息

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("receiver_id" , "100");	//接收者 用户ID 或者 频道ID,私聊传入userid,频道聊天传入roomid
paramDic.Add("chat_type" , "1");   // 1 私聊、 2 聊天室
SuperSDK.getInstance().Invoke("social","YMStartRecordAudioMessage",paramDic);

发送语音不转文字消息

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("receiver_id" , "100");	//接收者 用户ID 或者 频道ID,私聊传入userid,频道聊天传入roomid
paramDic.Add("chat_type" , "1");   // 1 私聊、 2 聊天室
SuperSDK.getInstance().Invoke("social","YMStartOnlyRecordAudioMessage",paramDic);

停止并发送语音

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("attach_msg" , "");	//透传消息字符串,可以用来附加一些用户的其他属性
SuperSDK.getInstance().Invoke("social","YMStopAndSendAudioMessage",paramDic);

接口回调:

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)
            {
                //YM发送语音消息成功
            }
            else
            {
                //YM发送语音消息失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
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",paramDic);

接口回调:

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)
            {
                //YM取消录音成功
            }
            else
            {
                //YM取消录音失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMCancleAudioMessage,
result : {"msg":"取消录音成功","code":1}

播放语音

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("path" , lastSendAudioPath);	//透传消息字符串,可以用来附加一些用户的其他属性
SuperSDK.getInstance().Invoke("social", "YMStartPlayAudio",paramDic);

接口回调:

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)
            {
                //YM播放语音消息成功
            }
            else
            {
                //YM播放语音消息失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
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.getInstance().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
}

收到消息的回调

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)
            {
                int messageType = (int)resultData["data"][@"message_type"];
                string sender = resultData["data"][@"chat_type"].ToString(); @"私聊" : @"聊天室";
                switch (messageType) {
                    case 0: //文本消息

                        break;
                    case 1: //语音消息

                        break;
                    default:
                        break;
                }
            }
            else
            {
                
            }
        }
    }
}

回调日志打印:

文本消息回调

****** 收到回调
moduleName : social,
funcName : YMOnReceiveMessage,
result : {
                "msg":"收到文字消息",
                "data":{
                        "message_content":"文本消息内容",
                        "distance":0,
                        "message_id":1528688724416,
                        "message_type":"0",
                        "create_time":1528688724,
                        "chat_type":"0",
                        "receiver_id":"100",
                        "sender_id":"100"
                        },
                "code":1
              }

语音消息回调

****** 收到回调
moduleName : social,
funcName : YMOnReceiveMessage,
result : {
                "msg":"收到语音消息",
                "data":{
                        "message_content":"发送语音消息。",
                        "distance":0,
                        "message_id":1528700010992,
                        "message_type":"1",
                        "file_size":163738,
                        "audio_time":5,
                        "create_time":1528700010,
                        "path":"\/var\/mobile\/Containers\/Data\/Application\/9488D459-EBF8-4C25-94F4-849779C0F5BB\/Library\/Caches\/YIMVoiceCache\/1528700010992.wav",
                        "chat_type":"0",
                        "receiver_id":"100",
                        "sender_id":"100"
                        },
                "code":1
                }

加入实时语音频道

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("user_id" , "100");	
paramDic.Add("room_id" , "1000");	//透传消息字符串,可以用来附加一些用户的其他属性
SuperSDK.getInstance().Invoke("social", "YMJoinChannelSingleMode",paramDic);

接口回调:

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)
            {
                //YM加入语音频道成功
            }
            else
            {
                //YM加入语音频道失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
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)
            {
                //YM离开语音频道成功
            }
            else
            {
                //YM离开语音频道失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMLeaveChannelAll,
result : {"msg":"离开语音频道成功","data":{"room_id":"","param":""},"code":1}

IM可选功能接口

设置语音识别的语言

默认普通话

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("language" , "0");      // 0-5普通话 粤语 四川话 河南话 英语 繁体
SuperSDK.getInstance().Invoke("social", "YMSetSpeechRecognizeLanguage",paramDic);

接口回调:

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("YMSetSpeechRecognizeLanguage"))
        {
            //处理登录回调
            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 : YMSetSpeechRecognizeLanguage,
result : {
  "msg" : "设置语言成功",
  "code" : 1
}

获取IM频道成员数量

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("room_id" , "1000");      // 0-5普通话 粤语 四川话 河南话 英语 繁体
SuperSDK.getInstance().Invoke("social", "YMGetRoomMemberCount",paramDic);

接口回调:

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)
            {
                //YM获取房间成员数量成功
            }
            else
            {
                //YM获取房间成员数量失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMGetRoomMemberCount,
result :{"msg":"获取房间成员数量成功","data":{"room_id":"1000","count":1},"code":1}

设置只识别语音文字不发送消息

适用于语音转文字,再发送文字消息

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("recognition" , "1");     //0识别语音文字并发送语音消息、其他只识别语音的文字
SuperSDK.getInstance().Invoke("social", "YMSetOnlyRecognizeSpeechText",paramDic);

接口回调:

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("YMSetOnlyRecognizeSpeechText"))
        {
            //处理登录回调
            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 : YMSetOnlyRecognizeSpeechText,
result : {
  "msg" : "设置只识别语音文字成功",
  "code" : 1
}

识别语音文字的回调

只识别语音文字不发送消息的回调

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("YMOnGetRecognizeSpeechText"))
        {
            //处理登录回调
            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 : YMOnGetRecognizeSpeechText,
result :  {
  "msg" : "识别语音文字成功",
  "data" : {
    "message_content" : "嘿嘿。",
    "message_id" : 1529490319218
  },
  "code" : 1
}

屏蔽/解除屏蔽用户消息

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("user_id" , "100");    
paramDic.Add("block" , "1");     //0解除屏蔽/其他屏蔽
SuperSDK.getInstance().Invoke("social", "YMBlockUser",paramDic);

接口回调:

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)
            {
                //YM屏蔽/解除屏蔽成功
            }
            else
            {
                //YM屏蔽/解除屏蔽失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMBlockUser,
result : {
  "msg" : "屏蔽成功",
  "data" : {
    "user_id" : "100",
    "block" : "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)
            {
                //YM解除所有屏蔽成功
            }
            else
            {
                //YM解除所有屏蔽失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
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)
            {
                //YM解除所有屏蔽成功
            }
            else
            {
                //YM解除所有屏蔽失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMGetBlockUsers,
result : {
  "msg" : "获取被屏蔽消息用户成功",
  "data" : {
    "user_list" : [
      "100"
    ]
  },
  "code" : 1
}

举报功能

对用户的违规行为进行举报,管理员在后台进行审核处理并将结果通知用户

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("user_id" , "100");    //被举报用户ID 
paramDic.Add("chat_type" , "2");    //1 私聊、 2 聊天室
paramDic.Add("reason" , "xx");     //原因
paramDic.Add("description" , "这人有毒");    //原因描述
paramDic.Add("nickname" , "二狗子");    //角色昵称
paramDic.Add("level" , "100");    //角色等级
paramDic.Add("vip_level" , "8");    //vip等级
SuperSDK.getInstance().Invoke("social", "YMAccusation",paramDic);

接口回调:

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)
            {
                //YM收到举报处理结果
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMAccusation,
result :  {
  "msg" : "收到举报处理结果",
  "data" : {
    "user_id" : "100",
    "result" : "1",     //0:忽略   1:警告   2:禁言
    "accusation_time" : 1529571229
  },
  "code" : 1
}

实时语音可选功能接口

切换语音输出设备

默认输出到扬声器,在加入房间成功后设置,如无听筒输出的需求尽量不要调用该接口

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("loudspeaker" , "0");     // 0——输出到扬声器,1——输出到听筒
SuperSDK.getInstance().Invoke("social", "YMsetOutputToSpeaker",paramDic);

接口回调:

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> paramDic = new Dictionary<string,string>();
paramDic.Add("mute" , "0");    // 0——关闭扬声器,1——开启扬声器
SuperSDK.getInstance().Invoke("social", "YMsetSpeakerMute",paramDic);

设置麦克风状态

打开/关闭麦克风。该状态值在加入房间成功后设置才有效

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("mute" , "0");     // 0——关闭麦克风,1——开启麦克风
SuperSDK.getInstance().Invoke("social", "YMsetMicrophoneMute",paramDic);

设置音量大小

设置当前程序输出音量大小。建议该状态值在加入房间成功后按需再重置一次。

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("volume" , "66");    // 音量大小,范围[0-100]
SuperSDK.getInstance().Invoke("social", "YMSetVolume",paramDic);

获取音量大小

获取当前程序输出音量大小,此音量值为程序内部的音量,与系统音量相乘得到程序使用的实际音量。

接口调用:

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 {
                //YM获取当前程序输出音量大小失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMGetVolume,
result : {
  "msg" : "获取当前程序输出音量大小成功",
  "data" : {
    "volume" : 66
  },
  "code" : 1
}

设置是否释放麦克风

设置当麦克风静音时,是否释放麦克风设备(需要在初始化成功后,加入房间之前调用) 释放—-当麦克风静音时,释放麦克风设备,此时允许第三方模块使用麦克风设备录音。 不释放–不管麦克风是否静音,麦克风设备都会被占用。

接口调用:

Dictionary<string,string> paramDic = new Dictionary<string,string>();
paramDic.Add("releasemic" , "0");    // 0——释放麦克风,1——不释放麦克风
SuperSDK.getInstance().Invoke("social", "YMSetReleaseMicWhenMute",paramDic);

接口回调:

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"];
            if (code == SuperSDKConstants.SUCCESS)
            {
                //YM设置静音释放麦克风成功
            } 
            else {
                //YM设置静音释放麦克风失败
            }
        }
    }
}

回调日志打印:

****** 收到回调
moduleName : social,
funcName : YMSetReleaseMicWhenMute,
result : {
  "msg" : "设置静音释放麦克风成功",
  "code" : 1
}