Toggle navigation
Toggle navigation
This project
Loading...
Sign in
public_service
/
public-js-doc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
xuguohong
2020-11-18 10:37:48 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
d6d2c9594843ed1f9410161f669f4f760aeae134
d6d2c959
1 parent
80ddb63c
update
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
432 deletions
公共js接入文档.md
公共js接入文档.pdf
公共js接入文档.md
deleted
100644 → 0
View file @
80ddb63
# **公共SDK-H5 JS接入文档** #
>版本:**1.5**
>
>最后修改:**2020年5月8日**
## **一、接入准备** ##
游戏页面引入公共SDK-H5相关JS文件(防止缓存游戏可加个版本或时间戳控制)
-
接入光卡的引入下面js
-
https://static.public.sdk.guangkatf.com/h5_sdk/guangkaH5SDK.js
-
接入光卡海外版引入下面js
-
https://static.hk-public.sdk.guangkatf.com/h5_sdk/guangkaH5SDKHK.js
-
接旧公共平台的引入下面js
-
https://static.public.sdk.gzyouai.com/h5_sdk/youaiH5SDK.js
```
注意:壳包的话需要在给定的链接上添加一个uuid参数用来传机身码(ios:传IDFA,Android:imei)
例子:http://game.html?uuid=idfa
```
## **二、JS接口(对接可参考Demo中的game_Simulate.js中的例子)** ##
1.
**初始化SDK(必接)**

//CP在公共平台填写SDK信息后,我方会生成带有参数的游戏链接(如上图所示),例如:http://gameURL?ya_game=游戏项目代号&ya_sn=SDK代号&ya_sv=SDK客户端版本号&ya_ssv=SDK服务端版本号
//设置公共sdk回调方法
/**
code: {
INIT_SUCCESS: 1,
INIT_FAIL: -1,
LOGIN_SUCCESS: 10,
LOGIN_FAIL: -10,
LOGOUT_SUCCESS: 100,
LOGOUT_FAIL: -100,
SWITCH_SUCCESS: 1000,
SWITCH_FAIL: -1000,
PAY_SUCCESS: 2,//充值以服务端回调结果为准
PAY_FAIL: -2,
PAY_CANCEL:-3,//支付取消
EXIT_SUCCESS: 4,//退出成功
EXIT_CANCEL: -4//取消退出
}
@param {*} code 为youaiH5SDK.code中对应值
@param {*} msg
*/
callback: function (code, msg) {
console.log(code, msg);
switch (code) {
case youaiH5SDK.code.INIT_SUCCESS://初始化成功 msg为描述
console.log("game init success")
break;
case youaiH5SDK.code.LOGIN_SUCCESS://登录成功
/**
*custom: "test"//透传参数
*openId: "x1111dc104b800724d112195b61e1ff5"
*serverSign: "ccb0488a46be85b9fc1b5bd55b532376"//签名校验sign
*timestamp: "1554174508038"
**/
console.log("game login success");
console.log("openId:" + msg.openId + "custom:" + msg.custom + "serverSign:" + msg.serverSign + "timestamp:" + msg.timestamp);
break;
case youaiH5SDK.code.LOGOUT_SUCCESS:
console.log("game logout success")
//回到游戏登录入口,然后调用登录接口
login();
break;
case youaiH5SDK.code.SWITCH_SUCCESS:
console.log("game switch account success")
//游戏处理切换账号成功逻辑
break;
case youaiH5SDK.code.PAY_SUCCESS:
console.log("game pay success")
break;
case youaiH5SDK.code.EXIT_SUCCESS:
//游戏处理退出逻辑
break;
}
},
youaiH5SDK.init(this.callback);
2.
**账号登录(必接)**
var param = "test";//透传参数
//启用账号登录接口
youaiH5SDK.login(param);
3.
**注销账号/切换账号(必接)**
//注销接口
if(youaiH5SDK.hasLogout()){//判断是否存在注销接口
youaiH5SDK.logout();
}
//切换账号接口
if(youaiH5SDK.hasSwitchAccount()){//判断是否存在切换账号接口
youaiH5SDK.switchAccount();
}
例子:
/
**
*
youaiH5SDK.hasLogout()
*
youaiH5SDK.hasSwitchAccount()
*
游戏可以根据上面两个接口判断是否提供切换账号接口
*
/
switchAccount: function () {
if (youaiH5SDK.hasLogout()) {//存在注销接口,注销后会回调到初始化接口的注销类型的回调中
youaiH5SDK.logout();
}else if (youaiH5SDK.hasSwitchAccount()) {//存在切换账号接口,切换账号成功后会回调到初始化接口中的切换账号类型回调中
console.log("end switch account");
youaiH5SDK.switchAccount();
}else{//不存在切换账号接口,游戏自己处理
}
}
4.
**提交数据信息(必接)**
在游戏中对应点根据不同的type进行调用
/**
* 为youaiH5SDK.type中对应类型值
type: {
arriveServerSelectPage: 1,//到达选服页面
createRole: 2,//创建角色时调用
enterGame: 3,//进入游戏时调用
upRoleLevel: 4,//角色升级日志
arriveEntrance: 5,//首屏日志
enterServer: 6,//选服完成,点击进入对应服时
arriveFirstScene: 7,//到达游戏内第一场景时调用
arriveLoadingFinish: 8,//资源加载完成
arriveLoadingZero: 9,//刚开始加载资源类型
arriveCreateRolePage: 10//到达创建角色页面
}
*/
var submitType = youaiH5SDK.type.enterGame;//进入游戏
//设置角色信息
var roleInfo = {
"roleId": "角色ID",
"roleName": "角色名称",
"roleLevel": "角色等级",
"roleSex": "角色性别 1:男 0:女",
"serverId": "服务器ID",
"serverName": "服务器名称",
"roleCTime": "角色创建时间",
"partyName": "工会名字",
"roleType": "角色类型",
"roleChangeTime": "角色更新时间",
"vipLevel": "VIP等级",
"diamond": "角色金币数量",
"moneyType": "商品单位",
"custom": "扩展参数",
"isNew":"新创建角色第一次登录进游戏为1,其他为0",
"score":"战力",
"roleLevelReborn":"转生等级,没有传0"
};
//以上信息中,游戏如没有传空值即可
//启用提交信息接口
youaiH5SDK.submitData(submitType, roleInfo);
5.
**支付(必接)**
//设置订单参数
var payInfo = {
"serverId": "服务器ID",
"serverName": "服务器名字",
"playerId": "角色ID",
"openId":"渠道用户ID",
"playerName": "角色名字",
"playerLevel": "角色等级",
"postAmount": "金额",
"productId": "商品ID",
"productName": "商品名称",
"productDesc": "商品描述",
"custom": "自定义透传参数",
"exchange": "游戏币与人民币(元)的兑换比例",
"otherInfo": "额外信息",
"timestamp": "时间戳"
};
//以上信息中,游戏如没有传空值即可
//启用支付接口
youaiH5SDK.pay(payInfo);
6.
**退出游戏(选接)**
if(youaiH5SDK.hasShowExitDialog()){//渠道含有退出框,游戏在回调中处理退出逻辑
youaiH5SDK.showExitDialog();
}else{
//游戏自己处理退出逻辑后调用exitGame()接口
youaiH5SDK.exitGame();
}
7.
**获取公共层参数接口(选接)**
说明:本接口通过键获取对应的参数值,需要在初始化成功后才能调用
/
**
获取公共层参数
@param {string} key
*
/
getParamValueByKey:function (key)
例子:
youaiH5SDK.getParamValueByKey("custom");//获取公共后台的自定义参数
youaiH5SDK.getParamValueByKey("channelParameter1");//渠道标识1
youaiH5SDK.getParamValueByKey("channelParameter2");//渠道标识2
youaiH5SDK.getParamValueByKey("channelId");//渠道号
8.
**扩展接口(游戏可根据渠道要求看是否接入)**
/
**
扩展接口
@param {
*
} type 扩展类型
@param {
*
} data 传递数据 除特殊说明其他暂时不传)
@param {
*
} callback 回调方法
*
/
expansionInterface: function (type, data, callback);
示例:
/**
* 传公共sdk扩展类型
* {
gameSetting: 100,//功能设置
downloadMicroClent: 101,//下载微端
share: 102,//分享
focus: 103,//关注
save2Desktop: 104,//保存到桌面
realVerify: 105,//实名认证(已弃用)
back2Game: 106,//返回游戏
bindPhone: 107,//绑定手机有奖接口
msgSecCheck: 108, //违规内容判断接口
checkBalance:109, //查询余额
showAd:110, //广告类型
{
type:1,//广告操作类型 1:显示视频广告 2:显示banner广告 -2:关闭banner广告 3:显示插屏广告
style:{//type等于2时需要传style其它类型可不传
left:0,//banner左上角横坐标位置
top:0,//banner左上角纵坐标位置
width:0,//宽度
height:0//高度
}
}
score: 111,//评分
kefu: 112,//客服接口
queryProductsInfo: 113,//根据sku(商品ID)查询商品信息
userCenter:114,//用户中心
eventTrack:115, //事件上报
realNameVerify:116//新实名认证接口
}
*/
var expansion_type = youaiH5SDK.expansion_type.gameSetting;//功能设置
/**
* {
code:0,//0:成功 其他为失败
message:"success",//返回描述
data:{//gameSetting时返回下面数据
has_micro_client: 0, //是否有微端 0:没有,1:有,2已经在微端中
is_share: 0, //是否有分享接口 0:没有,1:有
is_focus: 0, //是否有关注 0:没,1:有,2:已经关注
is_apple_pay: 0, //是否开启苹果支付 0:不开启 1:开启
is_open_pay: 1,//1开启充值入口,其他为关闭充值入口 默认开启
is_desktop: 0, //是否有保存桌面 0:没有 1:有
is_switch_account: 0, //是否有切换账号 0:没有 1有
is_realverify: 0, //(已弃用)是否有实名认证 0:没有 1:有 2:已认证
is_real_name_verify:0,//是否有实名认证接口 -1:不存在实名功能(cp和渠道协商) 0:没有界面接口渠道内部有实名功能,1:有界面接口 2:已认证
is_encrypt:0,//0:表示生日明文传递 1:表示生日密文传递(游戏将获取到的密文右移两位 eg:1990101 >> 2)
birthday:"",//用户实名生日(数据是加密的,游戏将获取到的密文右移两位获取真实数据eg:1990101 >> 2) is_real_name_verify为2时才有数据
is_super_kefu: 0, //是否有超级客服 0:没 1:有
is_backtogame: 0, //是否有返回按钮 0:没有,1:有
is_lock: 0, //是否竖屏 0:研发默认样式 1:强制竖屏
is_focus_gift: 0, //关注有礼 0:关闭 1:开启
is_bindphone: 0, //绑定手机 0:关闭 1:开启 2:已绑定手机
is_msgseccheck: 0, //违规内容判断接口 0:没有,1:有
is_checkbalance: 0,//是否有查询 0:没有,1:有
is_showad: 0,//是否有广告接口 0:没有,1:有
is_kefu: 0,//是否有客服 0:没有,1:有(调用对应的客服类型接口(kefu))
is_score: 0,//是否有评分接口 0:没有,1:有(调用对应的评分类型接口(score))
is_query_products_info: 0,//是否有查询商品信息接口 0,没有 1:有(调用对应的查询商品信息接口(queryProductsInfo))
is_usercenter:0,//是否有用户中心接口 0:没有 1:有
is_event_track: 0// 0:没有 1:有 是否有事件上报接口
}
}
* @param {*} result
*/
var expansionCallBack = function(result){
}
youaiH5SDK.expansionInterface(expansion_type,"",expansionCallBack);
8.
1.
**扩展接口(商品信息查询(目前用于海外渠道显示商场))**
/**
扩展接口
@param {*} type youaiH5SDK.expansion_type.queryProductsInfo
@param {*} data "productId1,productId2" //传入要查询的商品ID字符串,多个之前用逗号隔开
@param {*} callback 回调方法
*/
expansionInterface: function (type, data, callback);
示例:
/**
* {
code:0,//0:成功 其他为失败
message:"success",//返回描述
data:{//查询商品信息返回数据(queryProductsInfo)
"android.test.purchased0": {//key为商品ID
"displayPrice": "₩1167.28",//显示价格
"price": "₩1,167", //实际价格(去除小数点) 充值传递
"priceAmountMicros": 1167284249, //数字价格
"priceCurrencyCode": "KRW", //货币代码
"sku": "android.test.purchased0",//商品ID
"title": "名称示例"
},
"android.test.purchased1": {
"displayPrice": "₩1167.28",
"price": "₩1,167",
"priceAmountMicros": 1167284249,
"priceCurrencyCode": "KRW",
"sku": "android.test.purchased1",
"title": "名称示例"
}
}
}
* @param {*} result
*/
var expansionCallBack = function(result){
}
youaiH5SDK.expansionInterface(youaiH5SDK.expansion_type.queryProductsInfo,"test1,test2,test3",expansionCallBack);
8.
2.
**扩展接口(事件上报类型)**
/**
扩展接口
@param {*} type youaiH5SDK.expansion_type.eventTrack
event_type: {
first_month_card: 1,//首次购买月卡
first_recharge: 2,//首次充值
vip_to_value: 3,//vip达到某一等级上报(cp与渠道沟通)
recharge_to_value: 4,//充值到某值时(cp与渠道沟通)
first_join_union: 5//加入工会/联盟
}
@param {*} data 对应传youaiH5SDK.event_type中的类型值
@param {*} callback 回调方法
*/
expansionInterface: function (type, data, callback);
示例:
var expansionCallBack = function(result){
}
//首次充值月卡
youaiH5SDK.expansionInterface(youaiH5SDK.expansion_type.eventTrack,youaiH5SDK.event_type.first_month_card,expansionCallBack);
8.
3.
**扩展接口(实名认证)**
/**
扩展接口(根据gameSetting中获取字段is_real_name_verify为有接口时调用)
@param {*} type youaiH5SDK.expansion_type.realNameVerify
@param {*} data 传""
@param {*} callback 回调方法
{
code:0,//0成功,其他失败
is_encrypt:0,//0:表示生日明文传递 1:表示生日密文传递(游戏将获取到的密文右移两位 eg:1990101 >> 2)
message:"",//空值不做处理
data:"20190101"//用户实名生日
}
*/
expansionInterface: function (type, data, callback);
示例:
var expansionCallBack = function(result){
}
youaiH5SDK.expansionInterface(youaiH5SDK.expansion_type.realNameVerify,"",expansionCallBack);
9.
**统计(大数据小组要求游戏接入)**
客户端日志接入说明
接入方式:HTTP
数据格式:JSON
格式说明:
一条完整的日志,json格式为:
{
“headers” : {"product" : "roh5"}, //头信息
“body” : “2017-12-19 12:19:07|click|1|qd|dqd|xqd” //日志内容
}
一次请求发送的格式必须是以上json的数组格式的字符串形式,如:
[
{
“headers” : {"product" : "roh5"},
“body” : “2017-12-19 12:19:07|click|1|qd|dqd|xqd”
}, //发送的第一条日志
{
“headers” : {"product" : "roh5"},
“body” : “2017-12-19 12:19:07|click|1|qd|dqd|xqd”
}, //发送的第二条日志
…… //第三条……
]
如果一次只发一条记录,也需要用长度为1的数组,如:
[
{
“headers” : {"product" : "roh5"},
“body” : “2017-12-19 12:19:07|click|1|qd|dqd|xqd”
}
]
其他说明:
Json中的headers暂时先传一个产品代号,后续有需要再扩展日志中,头两个字段是固定的,第一个字段必须是“yyyy-MM-dd HH:mm:ss”格式的时间戳,第二个字段是日志类型名称(如login,click等…),各个字段以“|”号进行分隔。
如果数据本身存在竖线,则需要使用中文竖线”丨”进行替换
---------------------------------
//以上是大数据小组要的统计信息格式
//设置信息
var data = 统计信息,例如:[{ "headers": { "product": "roh5" }, "body": "2018-03-14 17:57:21|test|5|qd|dqd|xqd|22222|20qd|10|1050055" }];
//设置统计监听
var statisticsListener = {
onStatisticsSuccess: function () {
alert("Statistic success!");
},
onStatisticsFail: function () {
alert("Statistic fail!");
}
};
//启用统计接口
youaiH5SDK.statistics(data, statisticsListener);
公共js接入文档.pdf
0 → 100644
View file @
d6d2c95
No preview for this file type
Please
register
or
login
to post a comment