supersdk

文档中心

文档中心

下载文档

社交模块


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

接入前准备

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

社交模块下分若干个渠道,可同时接入多个渠道,目前只支持手Q渠道。

韩国Cafe社区社区

Cafe社区-打开社区

  • 接口说明:打开PLUG(游戏社区页),运行PLUG
[SuperSDK invoke:@"social" funcName: @"CafeStartHome" parameters: nil];

开启微件

/**
 * 运行微件
 */
[SuperSDK invoke:@"social" funcName: @"CafeStartWidget" parameters: nil];

关闭微件

/**
 * 关闭微件
 */
[SuperSDK invoke:@"social" funcName: @"CafeStopWidget" parameters: nil];

社区

社区初始化

接口说明:社区初始化必须放在SuperSDK初始化成功后调用。

接口调用:

/*
         语言请传入对应的语言字符串类型
         中文:YZPlayLanguageTypeZh, 繁体中文:YZPlayLanguageTypeZhHantCN, 英语:YZPlayLanguageTypeEn, 葡萄牙语:YZPlayLanguageTypePt,
         俄语:YZPlayLanguageTypeRu, 西班牙语:YZPlayLanguageTypeEs, 土耳其语:YZPlayLanguageTypeTr, 法语:YZPlayLanguageTypeFr,
         德语:YZPlayLanguageTypeDe, 印度尼西亚语:YZPlayLanguageTypeId, 意大利语:YZPlayLanguageTypeIt, 波兰语:YZPlayLanguageTypePl,
         泰语:YZPlayLanguageTypeTh, 越南语:YZPlayLanguageTypeVi,
        */
        [SuperSDK invoke:@"social" funcName:@"YZPInit" parameters:@{
                                                                    @"language" : @"YZPlayLanguageTypeZh"// 语言类型
                                                                    }];

社区登录

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

接口调用:

[SuperSDK invoke:@"social" funcName:@"YZPLogin" parameters:@{
                                                                     @"role_name": @"墨韵",// 角色名
                                                                     @"role_id"  : @"1200008",// 角色编号
                                                                     @"server_id": @"190001",// 服务器编号
                                                                     @"osdk_ticket" : @"osdk_ticket票据",// SuperSDK登录返回的票据
                                                                     @"avatar_identity" : @"21"// 头像唯一标识符,可不传
                                                                     }];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        
        if ([funcName isEqualToString:@"YZPLogin"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"社区登录成功");
            }
            else {
                NSLog(@"社区登录失败,原因:%@", desc);
            }
        }
    }
 }

回调日志打印:

2018-01-23 16:16:34.306198+0800 youzu[16789:3903293] ****** 收到回调
 moduleName : social,
 funcName : YZPLogin,
 parameters : {"msg":"社区登录成功","code":1}
2018-01-23 16:16:34.306392+0800 youzu[16789:3903293] 社区登录成功

社区是否可用

接口说明:当该接口返回YES时,后面的接口才可以调用

接口调用:

BOOL avaliable = [SuperSDK invokeBool:@"social" funcName:@"YZPAvaliable" parameters:nil];
NSLog(@"%@", (avaliable?@"社区可用":@"社区不可用"));

打开社区

接口调用:

BOOL avaliable = [SuperSDK invokeBool:@"social" funcName:@"YZPAvaliable" parameters:nil];
if (avaliable) {
  [SuperSDK invoke:@"social" funcName:@"YZPShow" parameters:nil];
}

关闭社区

接口调用:

BOOL avaliable = [SuperSDK invokeBool:@"social" funcName:@"YZPAvaliable" parameters:nil];
if (avaliable) {
  [SuperSDK invoke:@"social" funcName:@"YZPClose" parameters:nil];
}

设置监听社区页面开启和关闭

接口说明:在监听到社区页面打开时,建议关闭游戏声音,防止和社区音视频冲突;监听到社区页面关闭时,对应的恢复游戏声音。

接口调用

[SuperSDK invoke:@"social" funcName:@"YZPSetViewAppearListener" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        
        if ([funcName isEqualToString:@"YZPSetViewAppearListener"]) {
            if (code==1) {
                NSLog(@"社区页面打开了");// 社区页面打开了,建议关闭游戏声音
            }
            else {
                NSLog(@"社区页面关闭了");// 社区页面关闭了,建议恢复游戏声音
            }
        }
    }
 }

回调日志打印:

2018-01-23 16:14:57.478860+0800 youzu[16789:3903293] ****** 收到回调
 moduleName : social,
 funcName : YZPSetViewAppearListener,
 parameters : {"msg":"社区界面打开","code":1}
2018-01-23 16:14:57.479068+0800 youzu[16789:3903293] 社区页面打开了
2018-01-23 16:15:02.064409+0800 youzu[16789:3903293] ****** 收到回调
 moduleName : social,
 funcName : YZPSetViewAppearListener,
 parameters : {"msg":"社区界面关闭","code":0}
2018-01-23 16:15:02.064685+0800 youzu[16789:3903293] 社区页面关闭了

社区注销

接口说明:在收到SuperSDK注销成功回调后,调用社区注销接口

接口调用:

[SuperSDK invoke:@"social" funcName:@"YZPLogout" parameters:nil];

IM SDK 模块


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

登录

接口调用:

NSDictionary *parameters = @{
                             @"user_id" : @"100",
                             @"password" : @"123456",
                             @"token" : @"" // 使用服务器token验证模式时使用该参数,否则使用空字符串
                             };
[SuperSDK invoke:@"social" funcName:@"YMLogin" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMLogin"]) {// YM登录回调
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM登录成功,user_id为%@", data[@"user_id"]);
            }
            else {
                NSLog(@"YM登录失败,原因:%@", desc);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMLogin,
 parameters : {"msg":"登录成功","data":{"user_id":"100"},"code":1}

注销

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMLogout" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMLogout"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM注销成功");
            }
            else {
                NSLog(@"YM注销失败,原因:%@", desc);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMLogout,
 parameters : {"msg":"注销成功","code":1}

加入频道

接口调用:

NSDictionary *parameters = @{
                             @"room_id" : @"1000",
                             };
[SuperSDK invoke:@"social" funcName:@"YMJoinChatRoom" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMJoinChatRoom"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM加入频道成功,room_id为:%@", data[@"room_id"]);
            }
            else {
                NSLog(@"YM加入频道失败,room_id为:%@", data[@"room_id"]);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMJoinChatRoom,
 parameters : {"msg":"加入频道成功","data":{"room_id":"1000"},"code":1}

离开频道

接口调用:

NSDictionary *parameters = @{
                             @"room_id" : @"1000",
                             };
[SuperSDK invoke:@"social" funcName:@"YMLeaveChatRoom" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMLeaveChatRoom"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM离开频道成功,room_id为:%@", data[@"room_id"]);
            }
            else {
                NSLog(@"YM离开频道失败,room_id为:%@", data[@"room_id"]);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMLeaveChatRoom,
 parameters : {"msg":"离开频道成功","data":{"room_id":"1000"},"code":1}

发送文本消息

接口调用:

NSDictionary *parameters = @{
                             @"receiver_id" : @"100", //接收者的user_id或者room_id
                             @"chat_type" : @"1", // 1 私聊、 2 聊天室
                             @"content" : @"文本消息内容",
                             };
[SuperSDK invoke:@"social" funcName:@"YMSendTextMessage" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMSendTextMessage"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM发送消息成功,消息id:%@", data[@"message_id"]);
            }
            else {
                NSLog(@"YM发送消息失败,消息id:%@", data[@"message_id"]);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMSendTextMessage,
 parameters : {
                "msg":"发送消息成功",
                "data":{
                        "forbid_end_time":0,
                        "message_id":1528372098303,
                        "is_forbid_room":false,
                        "send_time":1528375337,
                        "reason_type":0
                        },
                "code":1
               }

发送语音转文字消息

发送语音消息,同时会回调语音识别出来的文字

接口调用:

NSDictionary *parameters = @{
                             @"receiver_id" : @"100", // 接收者 用户ID 或者 频道ID,私聊传入userid,频道聊天传入roomid
                             @"chat_type" : @"1", // 1 私聊、 2 聊天室
                             };
[SuperSDK invoke:@"social" funcName:@"YMStartRecordAudioMessage" parameters:parameters];

发送语音不转文字消息

仅发送语音消息,不会将语音识别成文字

接口调用:

NSDictionary *parameters = @{
                             @"receiver_id" : @"100", // 接收者 用户ID 或者 频道ID,私聊传入userid,频道聊天传入roomid
                             @"chat_type" : @"1", // 1 私聊、 2 聊天室
                             };
[SuperSDK invoke:@"social" funcName:@"YMStartOnlyRecordAudioMessage" parameters:parameters];

停止并发送语音

接口调用:

NSDictionary *parameters = @{
                             @"attach_msg" : @"" // 透传消息字符串,可以用来附加一些用户的其他属性
                             };
[SuperSDK invoke:@"social" funcName:@"YMStopAndSendAudioMessage" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMStopAndSendAudioMessage"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM发送语音消息成功,message_content:%@", data[@"message_content"]);
            }
            else {
                NSLog(@"YM发送语音消息失败,message_content:%@", data[@"message_content"]);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMStopAndSendAudioMessage,
 parameters : {
                "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 invoke:@"social" funcName:@"YMCancleAudioMessage" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMCancleAudioMessage"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM取消录音成功");
            }
            else {
                NSLog(@"YM取消录音失败");
            }
        }
     }
 }

回调日志打印:

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

播放语音

接口调用:

NSDictionary *parameters = @{
                             @"path" : self.lastSendAudioPath
                             };
[SuperSDK invoke:@"social" funcName:@"YMStartPlayAudio" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMStartPlayAudio"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM播放语音消息成功,path:%@", data[@"path"]);
            }
            else {
                NSLog(@"YM播放语音消息成功,path:%@", data[@"path"]);
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMStartPlayAudio,
 parameters : {"msg":"播放语音成功","data":{"path":"\/var\/mobile\/Containers\/Data\/Application\/3FF94CCD-DB55-44EC-B74B-D108FF1B85F0\/Library\/Caches\/AudioRecord\/3992812021.pcm.wav"},"code":1}

停止语音播放

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMStopPlayAudio" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMStopPlayAudio"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"停止语音播放成功");
            }
            else {
                NSLog(@"停止语音播放成功");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMStopPlayAudio,
 parameters : {
  "msg" : "停止语音播放成功",
  "code" : 1
}

收到消息的回调

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMOnReceiveMessage"]) {
            if (code==BCORE_SUCCESS) {
                int messageType = [data[@"message_type"] intValue];
                NSString *sender = [data[@"chat_type"] isEqualToString:@"0"] ? @"私聊" : @"聊天室";
                switch (messageType) {
                    case 0: //文本消息
                        
                        NSLog(@"收到%@发来的%@消息,消息内容:%@",data[@"sender_id"], sender, data[@"message_content"]);
                        break;
                        
                    case 1: //语音消息
                        imVC.lastRecvAudioPath = data[@"path"];
                        NSLog(NSString stringWithFormat:@"收到%@发来的%@语音消息,文字识别结果:%@,fileSize:%@,audioTime:%@",data[@"sender_id"], sender, data[@"message_content"], data[@"file_size"], data[@"audio_time"]);
                        break;
                        
                    default:
                        break;
                }
            }
            else {
                
            }
        }
     }
 }

回调日志打印:

文本消息回调

****** 收到回调
 moduleName : social,
 funcName : YMOnReceiveMessage,
 parameters : {
                "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,
 parameters : {
                "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
                }

加入实时语音频道

接口调用:

NSDictionary *parameters = @{
                             @"user_id" : @"100",
                             @"room_id" : @"1000",
                             };
[SuperSDK invoke:@"social" funcName:@"YMJoinChannelSingleMode" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMJoinChannelSingleMode"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM加入语音频道成功");
            }
            else {
                NSLog(@"YM加入语音频道失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMJoinChannelSingleMode,
 parameters : {"msg":"加入语音频道成功","data":{"room_id":"1000","param":"100"},"code":1}

离开实时语音频道

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMLeaveChannelAll" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMLeaveChannelAll"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM离开语音频道成功");
            }
            else {
                NSLog(@"YM离开语音频道失败");
            }
        }
     }
 }

回调日志打印:

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

IM可选功能接口

开始录音

启动录音,不通过游密发送该语音消息!结束录音调用“停止录音”,取消录音调用“取消语音”;

接口调用:


NSDictionary *parameters = @{
@"translate" : @"0", // 0——不翻译语音,1——翻译语音
};
[SuperSDK invoke:@"social" funcName:@"YMStartAudioSpeech" parameters:parameters];

接口回调:


+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);

NSDictionary *retParam = nil;
if (parameters) {
NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}

int code = [[retParam objectForKey:@"code"] intValue];
NSString *desc = [retParam objectForKey:@"msg"];
id data  = [retParam objectForKey:@"data"];

if ([moduleName isEqualToString:@"social"]) {
if ([funcName isEqualToString:@"YMStartAudioSpeech"]) {
if (code==BCORE_SUCCESS) {
NSLog(@"YM录音成功");
}
else {
NSLog(@"YM录音失败");
}
}
}
}

回调日志打印:


2020-12-17 16:07:19.949402+0800 DemoMubao[11167:6420176] ****** 收到回调
moduleName : social,
funcName : YMStartAudioSpeech,
parameters : {
"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
}

停止录音

停止录音,不通过游密发送该语音消息!

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMStopAudioSpeech" parameters:nil];

设置语音识别的语言

默认普通话

接口调用:

NSDictionary *parameters = @{
                             @"language" : @"0", // 0-5普通话 粤语 四川话 河南话 英语 繁体
                             };
[SuperSDK invoke:@"social" funcName:@"YMSetSpeechRecognizeLanguage" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMSetSpeechRecognizeLanguage"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM设置语言成功");
            }
            else {
                NSLog(@"YM设置语言失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMSetSpeechRecognizeLanguage,
 parameters : {
  "msg" : "设置语言成功",
  "code" : 1
}

获取IM频道成员数量

接口调用:

NSDictionary *parameters = @{
                             @"room_id" : @"1000",
                             };
[SuperSDK invoke:@"social" funcName:@"YMGetRoomMemberCount" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMGetRoomMemberCount"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM获取房间成员数量成功,room_id为%@,count为%@", data[@"room_id"], data[@"count"]);
            }
            else {
                NSLog(@"YM获取房间成员数量失败,room_id为%@,count为%@", data[@"room_id"], data[@"count"]);
            }
        }
     }
 }

回调日志打印:

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

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

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

接口调用:

NSDictionary *parameters = @{
                             @"recognition" : @"1", //0识别语音文字并发送语音消息、其他只识别语音的文字
                             };
[SuperSDK invoke:@"social" funcName:@"YMSetOnlyRecognizeSpeechText" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMSetOnlyRecognizeSpeechText"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM设置只识别语音文字成功");
            }
            else {
                NSLog(@"YM设置只识别语音文字失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMSetOnlyRecognizeSpeechText,
 parameters : {
  "msg" : "设置只识别语音文字成功",
  "code" : 1
}

识别语音文字的回调

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

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMOnGetRecognizeSpeechText"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM识别语音文字成功,message_content:%@", data[@"message_content"]);
            }
            else {
                NSLog(@"YM识别语音文字失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMOnGetRecognizeSpeechText,
 parameters : {
  "msg" : "识别语音文字成功",
  "data" : {
    "message_content" : "嘿嘿。",
    "message_id" : 1529490319218
  },
  "code" : 1
}

屏蔽/解除屏蔽用户消息

接口调用:

NSDictionary *parameters = @{
                             @"user_id" : @"100",
                             @"block" : @"1", //0解除屏蔽/其他屏蔽
                             };
[SuperSDK invoke:@"social" funcName:@"YMBlockUser" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMBlockUser"]) {
            if (code==BCORE_SUCCESS) {
                NSString *state = [data[@"block"] isEqualToString:@"0"] ? @"解除屏蔽" : @"屏蔽";
                NSLog(@"YM%@成功,用户:%@ 状态:%@", state, data[@"user_id"], state);
            }
            else {
                NSLog(@"YM屏蔽/解除屏蔽失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMBlockUser,
 parameters : {
  "msg" : "屏蔽成功",
  "data" : {
    "user_id" : "100",
    "block" : "1"
  },
  "code" : 1
}

解除所有已屏蔽用户

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMUnBlockAllUser" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMUnBlockAllUser"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM解除所有已屏蔽用户成功");
            }
            else {
                NSLog(@"YM解除所有已屏蔽用户失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMUnBlockAllUser,
 parameters : {
  "msg" : "解除所有已屏蔽用户成功",
  "code" : 1
}

获取被屏蔽消息用户

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMGetBlockUsers" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMGetBlockUsers"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM获取被屏蔽用户成功,列表:%@", data[@"user_list"]);
            }
            else {
                NSLog(@"YM获取被屏蔽用户失败");
            }
        }
     }
 }

回调日志打印:

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

举报功能

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

接口调用:

NSDictionary *parameters = @{
                                @"user_id" : @"100",          //被举报用户ID
                                @"chat_type" : @"2",          //1 私聊、 2 聊天室
                                @"reason" : @"100",           //原因
                                @"description" : @"这人有毒",  //原因描述
                                @"nickname" : @"二狗子",       //昵称
                                @"level" : @"999",            //角色等级
                                @"vip_level" : @"9999",       //VIP等级
                             };
[SuperSDK invoke:@"social" funcName:@"YMAccusation" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMAccusation"]) {
            NSString *result = @"";
            switch ([data[@"result"] intValue]) {
                case 0:
                    result = @"忽略";
                    break;
                case 1:
                    result = @"警告";
                    break;
                case 2:
                    result = @"禁言";
                    break;
                default:
                    break;
            }
            NSLog(@"YM收到举报处理结果,用户:%@,时间:%@,结果:%@", data[@"user_id"], data[@"accusation_time"], result);
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMAccusation,
 parameters : {
  "msg" : "收到举报处理结果",
  "data" : {
    "user_id" : "100",
    "result" : "1",
    "accusation_time" : 1529571229
  },
  "code" : 1
}

实时语音可选功能接口

切换语音输出设备

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

接口调用:

NSDictionary *parameters = @{
                             @"loudspeaker" : @"0", // 0——输出到扬声器,1——输出到听筒
                             };
[SuperSDK invoke:@"social" funcName:@"YMsetOutputToSpeaker" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMsetOutputToSpeaker"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM切换语音输出设备成功");
            }
            else {
                NSLog(@"YM切换语音输出设备失败");
            }
        }
     }
 }

回调日志打印:

****** 收到回调
 moduleName : social,
 funcName : YMsetOutputToSpeaker,
 parameters : {
  "msg" : "切换语音输出设备成功",
  "code" : 1
}

设置扬声器状态

打开/关闭扬声器。该状态值在加入房间成功后设置才有效

接口调用:

NSDictionary *parameters = @{
                             @"mute" : @"0", // 0——关闭扬声器,1——开启扬声器
                             };
[SuperSDK invoke:@"social" funcName:@"YMsetSpeakerMute" parameters:parameters];

设置麦克风状态

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

接口调用:

NSDictionary *parameters = @{
                             @"mute" : @"0", // 0——关闭麦克风,1——开启麦克风
                             };
[SuperSDK invoke:@"social" funcName:@"YMsetMicrophoneMute" parameters:parameters];

设置音量大小

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

接口调用:

NSDictionary *parameters = @{
                             @"volume" : @"66", // 音量大小,范围[0-100]
                             };
[SuperSDK invoke:@"social" funcName:@"YMSetVolume" parameters:parameters];

获取音量大小

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

接口调用:

[SuperSDK invoke:@"social" funcName:@"YMGetVolume" parameters:nil];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMGetVolume"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"当前程序输出音量大小为%@", data[@"volume"]);
            }
            else {
                NSLog(@"YM获取当前程序输出音量大小失败");
            }
        }
     }
 }

回调日志打印:

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

设置是否释放麦克风

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

接口调用:

NSDictionary *parameters = @{
                             @"releasemic" : @"0", // 0——释放麦克风,1——不释放麦克风
                             };
[SuperSDK invoke:@"social" funcName:@"YMSetReleaseMicWhenMute" parameters:parameters];

接口回调:

+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
    NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
    
    NSDictionary *retParam = nil;
    if (parameters) {
        NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
        if (jsonData) {
            retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
        }
    }
    
    int code = [[retParam objectForKey:@"code"] intValue];
    NSString *desc = [retParam objectForKey:@"msg"];
    id data  = [retParam objectForKey:@"data"];
    
    if ([moduleName isEqualToString:@"social"]) {
        if ([funcName isEqualToString:@"YMSetReleaseMicWhenMute"]) {
            if (code==BCORE_SUCCESS) {
                NSLog(@"YM设置静音释放麦克风成功");
            }
            else {
                NSLog(@"YM设置静音释放麦克风失败");
            }
        }
     }
 }

回调日志打印:

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