跳到主要内容

用户行为上报

游戏方可以在用户启动游戏、创建或登录游戏角色等时候上报行为信息,在游戏过程中上报心跳信息。

备注

上报信息用于记录用户游戏登录天数、玩游戏的时长、创角等数据,供平台产运人员进行数据分析,运营活动等。

启动游戏上报

SDK 方法名称

XL_PlayGameXL_PlayGameW(宽字符接口)

调用示例

// 以下代码依赖 Windows API
#include <windows.h>

// 玩游戏上报接口导出为 XL_PlayGame
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_PlayGame)(LPCSTR, LPCSTR, LPCSTR);

(PVOID &)XL_PlayGame = GetProcAddress(hModule, "XL_PlayGame");

if (XL_PlayGame)
{
XL_PlayGame(gameId, serverId, userId);
// 如 XL_PlayGame("123", "123", "123");
}
}

// 玩游戏上报宽字符接口导出为 XL_PlayGameW
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_PlayGame)(LPCWSTR, LPCWSTR, LPCWSTR);

(PVOID &)XL_PlayGame = GetProcAddress(hModule, "XL_PlayGameW");

if (XL_PlayGame)
{
XL_PlayGame(gameId, serverId, userId);
// 如 XL_PlayGame(L"123", L"123", L"123");
}
}
信息
  • 打开游戏客户端需要上报一次。
  • serverId 区服标识,可以为空,传 "" 或者 NULL,都表示没有 serverId

调用参数说明

参数类型说明
gameIdstring平台的游戏 ID
serverIdstring游戏的区服 ID
userIdstring平台的用户 ID

心跳上报

SDK 方法名称

XL_HeartbeatXL_HeartbeatW(宽字符接口)

调用示例

// 以下代码依赖 Windows API
#include <windows.h>

// 心跳上报接口导出为 XL_Heartbeat
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_Heartbeat)(LPCSTR, LPCSTR);

(PVOID &)XL_Heartbeat = GetProcAddress(hModule, "XL_Heartbeat");

if (XL_Heartbeat)
{
XL_Heartbeat(gameId, userId);
// 如 XL_Heartbeat("123", "123");
}
}

// 心跳上报宽字符接口导出为 XL_HeartbeatW
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_Heartbeat)(LPCWSTR, LPCWSTR);

(PVOID &)XL_Heartbeat = GetProcAddress(hModule, "XL_HeartbeatW");

if (XL_Heartbeat)
{
XL_Heartbeat(gameId, userId);
// 如 XL_Heartbeat(L"123", L"123");
}
}
信息

游戏方需自行实现定时上报,即定时执行心跳上报方法,建议上报间隔为 10s 。

调用参数说明

参数类型说明
gameIdstring平台的游戏 ID
userIdstring平台的用户 ID

具体游戏行为上报

SDK 方法名称

XL_ReportXL_ReportW(宽字符接口)

调用示例

// 以下代码依赖 Windows API
#include <windows.h>

// 游戏行为上报接口导出为 XL_Report
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_Report)(LPCSTR, LPCSTR,int, LPCSTR);

(PVOID &)XL_Report = GetProcAddress(hModule, "XL_Report");

if (XL_Report)
{
XL_Report(gameId, userId, actionType, params);
// 如 XL_Report("123", "123", 4, "")
}
}

// 游戏行为上报宽字符接口导出为 XL_ReportW
if (HMODULE hModule = GetModuleHandle(_T("XLGameLauncher.dll")))
{
int(WINAPI * XL_Report)(LPCWSTR, LPCWSTR,int, LPCWSTR);

(PVOID &)XL_Report = GetProcAddress(hModule, "XL_ReportW");

if (XL_Report)
{
XL_Report(gameId, userId, actionType, params);
// 如 XL_Report(L"123", L"123", 4, L"")
}
}

调用参数说明

参数类型说明
gameIdstring平台的游戏 ID
serverIdstring游戏的区服 ID
actionTypeint上报行为的类型
paramsstring上报参数,是 JSON 字符串

上报行为的类型 actionType

参数类型说明上报时机
0int未知
1int创建角色当用户创建角色完成时
2int登录角色当用户登录角色完成时
3int启动下载器当用户启动下载器时
4int启动游戏当用户启动游戏时

上报参数 actionType

在必传参数的基础上可以扩展传递的参数。

事件参数类型说明
创建角色roleIdstring角色标识,游戏方自己定义,可以是角色 ID
roleNamestring角色名称
serverIdstring区服标识,有则填写,否则为空
serverNamestring区服名称,有则填写,否则为空
登录角色roleIdstring角色标识,游戏方自己定义,可以是角色 ID
roleNamestring角色名称
serverIdstring区服标识,有则填写,否则为空
serverNamestring区服名称,有则填写,否则为空
启动下载器
启动游戏
信息

上报参数 params 需要转换为 json 字符串,然后传递给 XL_Report。
"{\"roleId\":\"12312312\",\"roleName\":\"测试角色\"}"