跳到主要内容
版本:v7

开发指南

引入方式

"com.xd.sdk.report": "7.2.0"

举报

var reporter = new ReportParams.ReporterInfo(new Dictionary<string, object>
{
{ "reporter_role_id", "举报人游戏角色id" },
{ "reporter_role_name", "举报人游戏角色名称" },
{ "reporter_server_code", "举报人所在服务器" }
});

var reportee = new ReportParams.ReporteeInfo(xdid, new Dictionary<string, object>
{
{ "reportee_role_id", "被举报人游戏角色id" },
{ "reportee_role_name", "被举报人游戏角色名称" },
{ "reportee_server_code", "被举报人所在服务器" }
});

var reasons = new List<ReportParams.ReasonInfo>
{
new ReportParams.ReasonInfo(1, "言语辱骂", new Dictionary<string, object>
{
{"photo_urls_str", "https://www.xd.cn/1.png"}
})
};

var evidenceList = new List<string>
{
"{PC 文件绝对路径}",
"{Android 文件绝对路径}",
"{iOS 文件绝对路径}"
};

var reportParams = new ReportParams.Builder()
.SetReporter(reporter)
.SetReportee(reportee)
.SetReasons(reasons)
.SetUserDescription("这个人不仅使用外挂打游戏,还言语辱骂队友!!!我要举报 TA!")
.SetEvidenceList(evidenceList)
.SetExtras(new Dictionary<string, object> { {"roleId", "gameRoleId"}, {"userLevel", 100} })
.Build();

XD.SDK.Report.XDGReport.Report(reportParams, result => {
if (result.Success) { /* success */ } else { /* failed */ }
});

数据结构定义

public class ReportParams
{
public ReporterInfo Reporter { get; } // 举报人
public ReporteeInfo Reportee { get; } // 被举报人
public List<ReasonInfo> Reasons { get; } // 举报原因
public string UserDescription { get; } // 玩家描述
public List<string> EvidenceList { get; } // 玩家添加的附件
public Dictionary<string, object> Extras { get; } // 附加信息补充玩家信息,透传给使用方
}

附加信息格式标准

举报原因

数据字段字段声明:

photo_urls_str: 图片地址,多张图片用`|`分割
var reasons = new List<ReportParams.ReasonInfo>
{
new ReportParams.ReasonInfo(1, "言语辱骂", new Dictionary<string, object>
{
{"photo_urls_str", "https://www.xd.cn/1.png"}
}),
new ReportParams.ReasonInfo(2, "使用外挂", new Dictionary<string, object>
{
{"photo_urls_str", "https://www.xd.cn/1.png|https://www.xd.cn/2.png"}
})
};

聊天记录

数据格式字段声明:

字段说明:
chat_content:当前消息内容(字符串,表示本条消息的文本内容)
chat_history:聊天历史(数组,包含若干条历史消息,不超过10条,每条消息结构如下)
├─ xdid:用户XDID
├─ pid:用户角色ID
├─ nickname:昵称(用户的显示名称)
├─ chat_content:聊天内容(该历史消息的文本内容)
├─ timestamp:时间戳(消息发送时间,单位为秒,Unix时间戳)
└─ is_report:是否被举报,标记哪条被举报(布尔值,true 表示被举报,false 表示未被举报)
var reportParams = new ReportParams.Builder()
.SetReasons(new List<ReportParams.ReasonInfo>
{
new ReportParams.ReasonInfo(1, "言语辱骂", new Dictionary<string, object>
{
{ "photo_urls_str", "https://www.xd.cn/1.png" },
{ "chat_content", "不知道SB" },
{
"chat_history", new List<Dictionary<string, object>>
{
new Dictionary<string, object>{{"xdid","{user_xdid}"},{"pid","{user_pid}"},{"nickname","叫吗"},{"chat_content","来我家干嘛<#04><#04><#04>"},{"timestamp",1746566259},{"is_report",false}}
}
}
})
})
.Build();