就是creator做的游戏用引擎里的webview嵌套 creator打包的h5 如何相互通信啊
我看直接用window获取不到好像
就是creator做的游戏用引擎里的webview嵌套 creator打包的h5 如何相互通信啊
我看直接用window获取不到好像
没太懂你的意思
他说的是内嵌的h5怎么和ios和安卓互相调用
试试JSBridge
不是 js和h5通信
调用安卓:window.Android.fun()
调用IOS:window.webkit.messageHandlers.fun.postMessage()
你要js和h5我可能懂一些,得说清楚需求我看看
creator生成的h5里的Test函数怎么定义能找到啊
麻烦看下楼上
有人能解决这个问题吗
window.test = function(){
}
万分感谢 帮大忙了
我了解过,一个空壳的包,只有用户中心、游戏大厅功能,可以充值提现、大厅里全是各种H5的接口子游戏。
这些H5接口子游戏 就是用 webview 打开的。
这样设计有很多好处,就是我们只需要构建一个空壳包,后期不用维护更新。
然后h5子游戏可以独立开发,只需要提供统一的API接口(用户信息、加分、减分)给空壳包。
关键是h5子游戏可以独立部署,空壳包加N个链接就能玩到不同子游戏了,比传统的【大厅+子游戏】更方便。
互通的方式有2种:
1、空壳包的服务端使用 grpc 和子游戏通信,玩家上分请求发给空客包的服务端,然后服务端转给h5子游戏的后台。(这种方式和传统的大厅+子游戏,模式差不多)
2、使用http传输,玩家上分请求的同时,GET/POST访问h5子游戏对外提供的api接口,这种方式是我推荐的。
实现的重要点就是怎么让h5子游戏对外提供API接口,很简单就是【获取url链接的参数】,好比普通网页使用js获取当前url链接里的参数。
举个例子:
玩家在空客包里进行充值后,要玩某个h5子游戏(链接为:http://xxx.com/sub_game),那么玩的时候要携带金币进去才能玩,最终的链接为(http://xxx.com/sub_game?userid=10000&gold=888)
这样子游戏就知道了玩家的id和金币了。
那么玩家扣分怎么通知给空壳包呢?这个时候也是2种方式:
1、扣分时访问空壳包的服务端扣分api地址
2、空壳包的webview监听h5子游戏的扣分JS事件,这种也是我推荐的
大概思路就是这些,具体实现注意2点:
1、子游戏代码里要写个【能获取url链接参数】的功能
2、空壳包代码里要写个【监听webview的JS事件】的功能