1、 使用说明
联想联运SDK分为:网游SDK、单机SDK、广告SDK
本指南用于指导游戏CP接入《网游SDK》的流程和实现。
2、接入流程
2.1、接入前准备
A) 注册联想开放平台开发者帐号(访问http://open.lenovo.com)并通过开发者审核。
-务必确保资料均填写并填写正确,否则将影响第三方认证的资料填报;
B) 通过第三方证书授权中心的企业认证(流程如下)。
-管理员认证、企业信息两步信息均自动同步自您的开发者账号资料,如需修改需要通过修改开发者信息进行调整;
-若信息调整后仍无法通过信息审核,则联系对接商务同学进行处理;
C) 确定游戏联运合作后,需要签署相关游戏联运协议。
D) 在联想开放平台创建应用,获取应用Open AppID
-创建应用时,适配设备当选择Phone/Pad,应用类型当选择 游戏,支付合作选择是;
-填写应用包名及应用名称,包名在联想开放平台全局唯一,不可重复,保存后不可修改。
游戏包名必须为.lenovo后缀;保存,获取应用Open AppID
(可在获取Open AppID后先进行保存,待游戏打包完成后进行后续完善步骤)
E) 进入移动应用内计费系统完善结算信息并通过财务审核
(点击计费设置进入移动应用内计费系统)
(完善结算信息并通过审核)
F) 结算信息审核通过后,在移动应用内计费系统配置应用的支付通知地址、备案识别码、添加应用内计费商品信息
(商品编码最多支持9个字符,且首字符不能为0)
2.2、接入SDK
a) 网游SDK资源下载地址:http://open.lenovo.com/sdk/category/gamesdk/
b) 在网游SDK 接入和自测过程中,如有问题可联系联想游戏技术支持
姓名 | QQ号 | 邮箱 |
李涛 | 2938495177 | litao22@lenovo.com |
c) 完成集成SDK的游戏安装包,在联想开放平台开发者管理后台自助上传应用
(点击完善信息,上传APK游戏安装包)
d) 审核通过后,自动上架
3、联想网游SDK介绍
3.1、隐私政策
SDK本身不会弹出任何隐私协议,隐私协议游戏内自行设计实现,并且在游戏隐私协议中附加联想游戏SDK隐私协议,本游戏接入了联想游戏SDK,提供登录和支付以及实名认证防沉迷服务,所收集信息请阅读《联想游戏隐私政策》
3.2、登录流程
a) 集成联想网游 SDK,登录取得 ST(token)
b) 将获取到的 token 传递到游戏服务器
c) 通过 Lenovo ID Web API 验证 ST 的有效性,同时获取用户的唯一 ID
3.3、支付流程
支付结果通知的详细介绍请参照 5.2服务端支付通知接口说明。
具体支付流程如下:
3.4、实名认证防沉迷
CP 可以调用实名认证接口获取当前用户实名认证的年龄及网络游戏防沉迷实名认证系统返回的PI,如用户未进行实名认证,会先弹出实名认证的界面,如用户已认证则会返回年龄(age)可以通过年龄来判断用户是否成年。
3.5、资源压缩包组成
文件名 | 内容介绍 |
AS_Demo | AS项目demo |
gamesdk.aar | AS项目依赖库 |
oaid_sdk_1.0.25.aar | AS项目依赖库 |
alidns-android-sdk-2.0.5.jar | AS项目依赖库 |
EclipseDemo | eclipse项目demo |
SDK | eclipse项目依赖库 |
联想游戏联运SDK接入指南_v3.2.0.docx | SDK开发指南,该文档 |
3.6、集成资源工程
Android Stuio项目集成:
1,游戏工程目录下的gradle需要导入依赖库:
api 'com.android.support:support-v4:28.0.0'
api (name:'gamesdk', ext:'aar')
api (name:'miit_mdid_1.0.13', ext:'jar')
2,参考AS_Demo\app\src\main\AndroidManifest.xml和章节3.7配置游戏工程目录下的AndroidManifest.xml
3,参考AS_Demo\app \bulid.gradle文件,配置游戏工程目录下gradle中有关Ndk声明配置:
defaultConfig {
applicationId "com.pay.sample.lenovo"
minSdkVersion 19
targetSdkVersion 28
ndk {
abiFilters "armeabi", "arm64", "armeabi-v7a", "arm64-v8a", "x86" }
}
在android标签下配置JDK版本配置:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
在工程根目录下,如AS_Demo下bulid.gradle文件配置的编译版本为3.6.0及以上
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.0'
}
}
Eclipse项目集成:
参考3.3章节种资源目录介绍,将“SDK”目录导入到 eclipse 工程中:
1,右键SDK ->properties->Android,选择Is Library
2,右键自己的工程->properties->Android,点击 add 添加即可
3,参考Demo_Src\src\main\AndroidManifest.xml和章节3.7配置游戏工程目录下的AndroidManifest.xml
3.7、配置游戏AndroidManifest.xml文件
• 权限配置:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<!--oadi start-->
<uses-permission android:name="com.asus.msa.SupplementaryDID.ACCESS" />
<!--oadi end-->
<!-- pay start -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- pay end -->
<!—targetversion >= 30 android R以上访问需要添加-->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
• 权限介绍:
权限 | 使用场景 |
GET_ACCOUNTS | 申请用户账户权限,用于获取设备账户,用于登录时获取账户名 |
USE_CREDENTIALS | 申请账号管理权限,用于验证登录的账号信息 |
AUTHENTICATE_ACCOUNTS | 通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息,登录时能够使用系统账号安全管理 |
WRITE_EXTERNAL_STORAGE | 申请存储权限,用于程序运行配置信息的存储 |
EXPAND_STATUS_BAR | 申请状态栏扩展权限,用于实现界面全屏展示 |
ACCESS_NETWORK_STATE | 申请网络状态权限,用于检查网络是否可用 |
ACCESS_WIFI_STATE | 申请WIFI网络权限,用于检查网络是否可用 |
READ_PHONE_STATE | 申请读取设备状态权限,用于程序对不同设备的适配 |
INTERNET | 申请网络连接权限,用于程序正常访问网络 |
- Open App ID配置:
<meta-data android:name="lenovo.open.appid" android:value="在此处填入申请的lenovo open AppID " />
<meta-data android:name="lenovo.gamesdk.new" android:value="此处填写sdk版本号&#