联想单机游戏联运SDK接入攻略

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。

联想应用商店微信公众号:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RobotFramework测试框架(13)--内置测试库

Builtln Evaluate方法 Evaluate。它可以做很多事情,主要的作用是可以直接调用Python的方法 一般用Evaluate都是前面放变量接收值,第三列是具体的运算表达式,第四列是要用到的Python的module。这里就是用random来进行一个随机数的生成 Cons…

基础6 探索JAVA图形编程桌面:集合组件详解

我们的团队历经了数不胜数的日夜,全力以赴地进行研发与精心调试,最终成功地推出了一款具有革命性意义的“图形化编程桌面”产品。这款产品的诞生,不仅极为彻底地打破了传统代码开发那长久以来的固有模式,更是把焦点聚集于解决长期…

Redis教程(十五):Redis的哨兵模式搭建

一、搭建Redis一主二从 分别复制三份Redis工作文件夹,里面内容一致 接着修改7002的配置文件,【redis.windows-service.conf】 port 7002 改成 port 7002 slaveof 127.0.0.1 7001 7003也同样修改 port 7003 slaveof 127.0.0.1 7001 这样就指定了700…

浅析FAT32文件系统

本文通过实验测试了FAT文件系统的存储规律,并且探究了部分可能的文件隐藏方法。 实验背景 现有一块硬盘(U盘),其中存在两个分区,分别为FAT32和NTFS文件系统分区。 在FAT分区中存在如下文件: 现需要阅读底…

决策控制类软件项目的团队配置

决策控制类软件项目的团队配置怎样才是最合适的?目的就是实现高效的项目协作以及为企业降本增效。软件项目的主要费用来源是研发人员的开支以及差旅费用。 下面的思维导图从项目与产品的关系、团队架构、项目成员配置、项目可复制性、招聘这几点进行说明如何组织人…

六招搞定,SPA单页面加载速度慢的问题。

众所周知,SPA页面有很多优点,但是首屏加载慢的问题一直被诟病,本文介绍几种解决策略,希望对老铁们有所帮助。 一、SPA页面的独有优势 1. 更快的用户体验: SPA在加载初始页面后,可以在用户与应用程序交互…

抖音小店怎么对接达人合作?五种方法分享,合作成功率超级高!

大家好,我是电商糖果 有很多刚开店的小店商家,经常会出现一个问题。 那就是不会找达人合作,有的朋友说是因为他社恐,还有的说达人不好沟通等等。 理由有很多,总结下来就是找达人合作这事儿太难了,干不了…

ros2编写pcl节点加载pcd文件

初次学习ros2和pcl,尝试在ros2中创建节点,加载pcd文件,并在rviz中进行可视化,记录一下整个过程。 编辑环境 ubuntu20.04 ros2_foxy 创建节点 mkdir -p proj_ws_pcl/src #创建工程文件夹 cd proj_ws_pcl/src #创建源码文件夹 …

labview_开放协议

一、开放协议 二、硬件设置 英格索兰硬件设置: 三、配套测试软件 四、Labview代码

文心智能体大赛:百度文心智能体平台初体验

写在前面 博文内容涉及:文心智能体大赛:文心智能体初体验理解不足小伙伴帮忙指正 😃,生活加油 我徒然忘记了热闹,却来不及悟透真正的清冷(《四喜忧国》) 前言 徒然忘记了热闹,却来不及悟透真正的清冷(《四喜忧国》),在…

记一次MySQL执行修改语句超时问题

异常问题 原因分析 这个问题发生在开发环境,怀疑是提交事务时终止项目运行,没有提交该事务,造成死锁 调试该事务时时间太长,为什么说有这个原因呢,因为通过查找日志显示 The client was disconnected by the server …

Java面试八股之什么是锁消除和锁粗化

什么是锁消除和锁粗化 锁消除(Lock Elimination): 锁消除是Java虚拟机(JVM)进行的一种高级优化策略,旨在消除那些没有必要存在的同步操作,以减少不必要的性能开销。这一优化发生在即时编译器&a…

求两个整数最大公约数的方法

可以使用递归来实现,编写gcd函数返回最终的结果(最大公约数)。传入两个参数,如果存在一个数字不大于0就返回0,利用上面的公式就可以得出最后的结果。

前端日志收集(monitor-report v1)

为什么 为什么自己封装而不是使用三方 类似 Sentry 这种比较全面的 因为 Sentry 很大我没安装成功,所有才自己去封装的 为什么使用 可以帮助你简单解决前端收集错误日志、收集当前页面访问量,网站日活跃,页面访问次数,用户行…

面向对象编程的奥秘:封装与继承

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、封装的魅力 封装的应用 封装示例 二、继承的力量 继承的应用 继承示例 三、总结 一…

清华新突破||新研究揭示多智能体协作的秘密武器

获取本文论文原文PDF,请在公众号【AI论文解读】留言:论文解读点击订阅:人工智能论文解读合集 引言:多智能体协作中的挑战与机遇 在多智能体系统中,智能体需要通过协作来完成复杂的任务,这种协作涉及到通信…

【对角线遍历】python

没啥思路 class Solution:def findDiagonalOrder(self, mat: List[List[int]]) -> List[int]:mlen(mat)nlen(mat[0])ret[]if len(mat)0:return retcount0#mn-1是对角线总数while count<mn-1:#x和y的和刚好是count数#偶数为右上走if count%20:xcount if(count<m)else (…

Linux 基本使用和 web 程序部署云端

目录 1.Linux发行版 2.Linux常用命令 ls pwd cd touch mkdir cat rm cp mv man vim grep ps netstat 绝对路径 vs 相对路径 使用 tab 键补全 使用 ctrl c 重新输入 粘贴与复制快捷键 3.Linux环境搭建 环境搭建方式 使用云服务器 4.搭建Java部署环境 …

《计算机网络微课堂》3-11 虚拟局域网 VLAN

本节课我们介绍虚拟局域网 VLAN 的基本概念。 ‍ 3.11.1 虚拟局域网 VLAN 概述 在之前课程中我们已经介绍过了以太网交换机自学习和转发帧的流程&#xff0c;‍‍以及为避免网络环路而产生的生成树协议。 以太网交换机工作在数据链路层&#xff0c;‍‍也包括物理层&#xf…

最大子矩阵+01矩阵

最大子矩阵 题目 思路 确定一个矩阵中的子矩阵&#xff0c;只需要确定矩阵对角线上两点的坐标即可&#xff0c; 在确定了子矩阵之后&#xff0c;还需要计算子矩阵中各元素之和&#xff0c;如果按照常规的循环方法来解决&#xff0c;时间复杂度是O(N^6)&#xff0c;对于本题20…