|
|
5 miesięcy temu | |
|---|---|---|
| .. | ||
| src | 5 miesięcy temu | |
| .gitignore | 5 miesięcy temu | |
| README.md | 5 miesięcy temu | |
| build.gradle | 5 miesięcy temu | |
JsbBridge.sendToScript(methodName, dataJson)
{
"callback_id": "123456789",
"data": {}
}
数据描述:
如果data是Game To Native调用的callback数据结构:
{
"code": 0, //0: 成功,其他:错误码
"data": {}
}
native.bridge.sendToNative(methodName, dataJson);
{
"callback_id": "123456789",
"data": {} //具体数据
}
数据描述:
如果data是Native To Game调用的callback数据结构:
{
"code": 0, //0: 成功,其他:错误码
"data": {}
}
{
"type": 0, //0: http,1: socket
"path": "/game/op", //协议path
"data": {
"code": 0,
"message": "",
"data": {}
}
}
uri格式:game<游戏编号><业务>
dataJson数据:
{
"data": "" //服务端下发数据的json string
}
JsbBridge.sendToScript("startGame", dataJson); //在onGetGameView之后调用
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"channel": "10000",
"game_id": "ludo_game:111",
"uid": 1001, //用户自己uid
"game_meta_data": {
"serviceInstanceId": 1,
"serviceRegion": "2"
},
"game_players": [
{
"playerId": 1234, //玩家uid
"playerName": "", //玩家名
"playerAvatarUrl": "", //playerAvatarPath为空时,从网络加载
"playerAvatarPath": "" //玩家头像本地图片路径,不为空时优先展示
}
],
"game_config": {
"gameMode": 0, //游戏模式 0:经典模式 1:快速模式
"gameFee": 500, //游戏参与费用
"magicMode": 0, //是否道具场 0:关闭道具模式,1:开启道具模式
"maxPlayerCount": 2, //参与人数
},
"local": false, //是否本地模式,0: 不是, 1: 是
"game_record": "" //local游戏记录
}
}
JsbBridge.sendToScript("networkNotify", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": "{"uri":"game_1_init","data":{}}" //服务端下发数据的json string,直接透传
}
JsbBridge.sendToScript("networkStatus", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"available": true
}
}
JsbBridge.sendToScript("opGame", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"op": 1, //操作码
"data": {} //操作数据
}
}
操作说明:
JsbBridge.sendToScript("resetGame", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"channel": "10000",
}
}
JsbBridge.sendToScript("getPlayerGameStatus", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"uid": 1001
}
}
callback数据:
{
"callback_id": "678912345", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"code": 0, //0:成功,其他:错误码
"data": {
"uid": 1001,
"status": 0 //0: 已退出游戏,1: 游戏中
}
}
}
JsbBridge.sendToScript("getPlayerAvatarView", dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"uid": 1001
}
}
callback数据:
{
"callback_id": "678912345", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"code": 0, //0:成功,其他:错误码
"data": {
"postion": { //左上角坐标
"x": 0,
"y": 0
},
"size": { //视图大小
"width": 0,
"height": 0
}
}
}
}
native.bridge.sendToNative('onGetGameView', dataJson); //游戏需要初始化数据时调用
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {}
}
callback数据:
{
"code": 0,
"data": {
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"lang_code": "ar", //语言码
"sound_open": true, //音效是否打开
"vibrate_open": true, //振动是否打开
"view_size": { //游戏区域size
"width": 0,
"height": 0
},
"safe_area": { //游戏安全区域
"postion": { //左上角坐标
"x": 0,
"y": 0
},
"size": { //安全区域大小
"width": 0,
"height": 0
}
}
}
}
}
native.bridge.sendToNative('onGetCurrency', dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"type": 0 //0: 金币,1: 钻石
}
}
callback数据:
{
"code": 0,
"data": {
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"count": 1000, //货币数量
}
}
}
native.bridge.sendToNative('onGameStart', dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {}
}
native.bridge.sendToNative('onGameEnd', dataJson);
dataJson数据:
{
"callback_id": "123456789",
"data": {}
}
native.bridge.sendToNative('onGameOp', dataJson);
dataJson数据:
{
"callback_id": "123456789", //回调的方法名,每次调用生成,确保全局唯一
"data": {
"op": 1, //操作码
"data": {} //操作数据
}
}
操作说明:
native.bridge.sendToNative('onNetworkRequest', dataJson);
dataJson数据:
{
"callback_id": "123456789",
"data": {"type":0,"path":"game/ludo","data":{}} //type(0:http, 1:socket), path(协议路径), data(传输数据)
}
响应数据:
{
"callback_id": "123456789",
"data": {
"code": 0, //0:成功,其他:错误码
"data": "{}" //服务端返回数据的json string,直接透传
}
}
native.bridge.sendToNative('log', dataJson);
dataJson数据:
{
"callback_id": "123456789",
"data": {
"tag": "tag_ludo",
"msg": "error:1001",
"xlog": true //是否输出
}
}
native.bridge.sendToNative('onShowDialog', dataJson);
dataJson数据:
{
"callback_id": "123456789",
"data": {
"type": 1, //弹窗类型
"id": 1234, //弹窗id
"data" {} //弹窗数据,根据类型定义不同数据
}
}
type说明:
native.bridge.sendToNative('onDismissDialog', dataJson);
dataJson数据:
{
"callback_id": "123456789",
"data": {
"id": 1234 //弹窗id
}
}