1. 接入流程
本文档主要介绍了联想单机游戏SDK接入流程、联想游戏提供的功能等。
1.1. 接入方式
1. 联想单机游戏SDK1.0版本支持“账号+防沉迷”接入方式;
a. 联想提供账号注册、登录等能力
b. 联想判断账号是否购买游戏,提供游戏支付购买能力
c. 联想提供防沉迷服务
1.2. 对接流程
1. cp的游戏接入主要流程包括:
a. 联系联想运营,提供游戏和公司信息,获取cpid、游戏id、登录key(用于登录和防沉迷校验)
b. 签订合同
c. 接入联想游戏SDK
d. 提包测试、提供物料、上线运营等;
1.3. SDK下载地址
链接: https://lecloud.lenovo.com/share/5VPnsti9P8LzRXaZS
提取码:9rd8
2. 登录接入说明
2.1. 登录物料准备
- 设计图准备
CP需提供以下物料至联想游戏运营
1.游戏背景图,尺寸350*400
2.游戏LOGO,尺寸124*54.25(320*140等比缩小)
3.游戏官网地址
登录原型如下:
- 备案号准备
CP需要向国家新闻出版署申请备案号,并且在版署防沉迷后台与联想游戏防沉迷备案信息绑定。联想游戏防沉迷备案信息:
公司名称:北京神奇工场科技有限公司
统一社会信用代码:91110108318338204D
2.2. 登录流程说明
3. 防沉迷
3.1. 防沉迷流程说明
1. 联想单机游戏SDK提供防沉迷的接入能力,其中用户登陆时的实名校验、实名认证、未成年游戏限制均已包含在登录的流程内,无需CP接入和二次开发。
2. 针对游戏内未成年用户时长超出国家游戏时长规定的场景,游戏SDK不提供直接踢出游戏的能力,而是提供一个【用户防沉迷接口】,可查询用户在当前时间是否可玩游戏,CP需要通过调用接口轮询用户在当前时间是否可玩游戏,若不可玩游戏,需要将用户踢出。
4. 联想单机游戏SDK API介绍
1. SDK名称为PCGameSDK.dll。ludp.dll为PCGameSDK.dll提供功能支持
2. PCGameSDK.dll使用说明:
a) 接口使用说明:
i. PCGameSDK.dll,ludp.dll需放在调用该dll的exe同级目录下。
ii. 调用LGSDKInit,该接口用来设置回调,用于接收SDK返回的数据。参数为LGSDKCallBack callback,其中
typedef bool(*LGSDKCallBack)(wchar_t* in_param);
接口返回说明 :
错误码 | 说明 |
true | 成功 |
false | 失败 |
iii. 调用LGSDKLoginV2,该接口用来弹出登录窗口。传入参数为json字符串,如下:
调起登录器参数:
参数 | 说明 |
cpid | 联想游戏运营分配 |
appid | 游戏id,联想游戏运营分配 |
bizid | 游戏备案码,CP向国家新闻出版署申请 |
Key | 联想游戏运营分配 |
Cversion | 注册表版本号 |
Fversion | 可执行表版本号 |
Appbit | 游戏支持的系统位数 |
注意:
1、 确保上传的参数Cversion、Fversion与本地包里的注册表版本号、可执行文件版本号保持一致
2、 对于压缩包游戏,上传的注册表版本号与可执行文件版本号保持一致即可
3、 每次游戏版本更新后,要确保更新本地版本号和上传的参数
登陆成功后回传参数:
参数 | 说明 |
TGT | 作为用户标识 |
Token | 用户token,结合Realm查询联想用户id作为用户唯一标识 |
Age | 用户年龄,防沉迷时携带 |
接口返回说明 :
错误码 | 说明 |
0 | 成功 |
10 | 初始化接口未调用 |
20 | 登录窗已存在 |
30 | 参数错误 |
b) 接口调用时机:
CP启动时应首先调用LGSDKInit,LGSDKLoginV2接口,弹出登录框,登录成功以后,再走CP 后续流程。
c) 接口调用示例代码:
std::wstring strParam =
L"{\"appid\":\"此处替换成appid\",
\"cpid\":\"此处替换成cpid\",
\"Cversion\":\"此处替换成Cversion\",
\"Fversion\":\"此处替换成Fversion\",
\"Appbit\":\"此处替换成Appbit\",
\"bizid\":\"此处替换成bizid\",
\"key\":\"此处替换成key \"}";
int nSize = strParam.size();
bool bRet = LGSDKInit(SDKCallBackFunAsync);
wchar_t *pwszBuffer = new wchar_t[nSize + 1];
ZeroMemory(pwszBuffer, nSize + 1);
tcscpy_s(pwszBuffer, nSize + 1, strParam.c_str());
int statusCode = LGSDKLoginV2(pwszBuffer);
delete[] pwszBuffer;
pwszBuffer = nullptr;
return 0;
其中回调函数可以接收到SDK返回的数据,数据格式为json。
bool CTest::SDKCallBackFunAsync(wchar_t* in_param)
{if (in_param == nullptr)return false;::MessageBox(NULL, in_param, L"提示信息", MB_OK);return true;
}
原文地址:https://open.lenovomm.com/developer/doc?id=1689208939513446402
联想开放平台地址:联想开放平台
联想开发者专属QQ客服(工作日9:30-18:00):联想开发平台首页右侧悬浮的在线客服聊天入口可直接会话,无需添加好友。也可搜索官方客服QQ号2881414004。
联想应用商店微信公众号: