目前已经将SDK封装,并在全局暴露API方法,任何第三方的小游戏页面只需要完成以下操作就可以接入平台:
- 监听
window
的message
事件,拿到event.data.type
,不出意外的话就是sdkReady
,然后就可以调用我暴露在全局的API。 - 在接收到
sdkReady
后,必须调用window.$LinuxDoMiniGames.miniGameReady()
方法,miniGameReady方法接收一个option
参数,必须包含startGame
方法,小游戏需要自己实现其中逻辑,平台会在合适的时间调用该方法,从而开始游戏,以下是示例代码:
window.addEventListener('message', function (event) {
console.log('message: ', event.data.type) // message: sdkReady
console.log('$LinuxDoMiniGames', window.$LinuxDoMiniGames)
window.$LinuxDoMiniGames.miniGameReady({
startGame: function () {
reStartBtn.click()
}
})
})
- 在游戏结束时调用
window.$LinuxDoMiniGames.gameOverCallback()
方法,接收一个对象,必须包含score
属性,表示玩家的成绩,实例代码:
window.$LinuxDoMiniGames.gameOverCallback({ score: 100 })
提示:
- 小游戏通过
iframe
嵌入页面,请确保页面可以正常显示。 - 我只向
iframe
暴露了个别方法,不要尝试去修改它:
Object.defineProperty(iframe.contentWindow.window, '$LinuxDoMiniGames', {
value: {
miniGameReady: gameSDK.miniGameReady,
gameOverCallback: gameSDK.gameOverCallback
},
writable: false,
configurable: false
})