问题描述
之前工单有客户反馈加入群组时报10015/10010错误,但是没有解散过群组或者不知道是谁解散的,想查明原因。
可能原因:
- 1.群组没有创建或创建失败
- 2.群主通过客户端的接口主动解散
- 3.管理员主动调restapi解散
- 4.尝试加入另一个sdkappid下创建的群组,实际群组未创建
- 5.提工单开启过-群组自动回收-功能
排查步骤:
- 1.确认群组是否创建或创建成功
调客户端的createGroup或REST API的create_group接口创建群组,从接口返回值能判断群组是否创建成功,如果群组创建失败,根据错误提示修改参数,重新创建该群组。
代码语言:txt复制iOS创建群组代码示例:
// 群资料
V2TIMGroupInfo *info = [[V2TIMGroupInfo alloc] init];
info.groupName = groupName;
info.groupType = groupType;
if(![info.groupType isEqualToString:GroupType_Work]){
info.groupAddOpt = addOption;
}
//创建群组
[[V2TIMManager sharedInstance] createGroup:info memberList:nil succ:^(NSString *groupID) {
// to do
} fail:^(int code, NSString *msg) {
// to do
}];
更多使用姿势请参考官网文档:https://cloud.tencent.com/document/product/269/44499
代码语言:txt复制REST API方式创建群组:
创建群组REST API:https://cloud.tencent.com/document/product/269/1615
{
"Owner_Account": "leckie", // 群主的 UserId(选填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom
"Name": "TestGroup" // 群名称(必填)
}
群组创建失败,一般是触发了群组相关业务限制,可以参考文档调整参数。
- 2.确认群主是否主动解散群组
确认客户端业务逻辑是否有dismissGroup解散群组的操作,如果群主解散后,再加入群组就会报10015错误。
代码语言:txt复制iOS解散群组代码示例:
[[V2TIMManager sharedInstance] dismissGroup:self.groupId succ:^{
// to do
} fail:^(int code, NSString *msg) {
// to do
}];
- 3.确认APP管理员是否调restapi解散
确认后台是否有destroy_group解散群组的操作,如果APP管理员解散后,再加入群组就会报10015错误。
代码语言:txt复制REST API方式解散群组:
解散群组REST API:https://cloud.tencent.com/document/product/269/1624
{
"GroupId": "@TGS#2J4SZEAEL"
}
- 4.确认群组是在当前使用的sdkappid下创建
有些客户测试环境和正式环境各自创建了一个应用,对应两个不同的sdkappid,正式环境有时加入测试环境下创建的群组,实际群组未创建,这个时候也会报10015/10010,需确保是在同一个sdkappid下创建和加入群组。
- 5.确认是否提工单开启过-群组自动回收-功能
确认当前sdkappid是否开启过群组自动回收功能,如果开启过群组自动回收功能,并且最后一条发消息的时间与群资料修改的较大值大于“群组回收时间”,那么群组就会自动回收了。
如果不清楚,可以提交工单 提供sdkappid给我们确认下是否开启过。
- 6.如果业务侧无法确定群组是怎么被解散的,可以提交工单 ,提供排查信息给我们确认。
【排查信息】
sdkappid:
群组号:
群组创建时间://精确到s(秒)
App 管理员帐号:
群主对应的identifier(userid)账号:
最后一次成功进入群组的时间://精确到s(秒)
IMSDK日志: 建议提供debug级别日志,web端提供控制台打印信息,crash问题提供堆栈信息
客户端日志路径:https://cloud.tencent.com/developer/article/1502366。
解决方法:
业务侧收到10015/10010报错后,重新创建一个相同群组号的群组即可恢复正常使用。