开发者 SDK
Playzly 提供两套 SDK,覆盖 Web 平台与 App 平台的 H5 游戏开发场景。直接引入单文件即可使用,无需构建工具。推荐用相对路径 /sdk/...,不绑定具体域名。
选择你的平台
根据 H5 游戏运行环境选择对应的 SDK。
Playzly App SDK
H5 游戏(运行于 Playzly App WebView)
适用于在 Playzly App(Android / iOS)WebView 内运行的 H5 游戏。通过 JSBridge 与 Native App 通信,支持广告、用户信息、分享、震动等原生能力。
直接引入(推荐 · 相对路径)
<script src="/sdk/playnova-app-sdk-0.2.1.js"></script>当前站点完整 URL
<script src="https://playzly.lemo-ai.com/sdk/playnova-app-sdk-0.2.1.js"></script>NPM 安装
npm install @playnova/app-sdk全局变量: window.PlayNovaApp · 游戏包在独立 CDN 时,将 public/sdk/ 同步到 CDN 同路径,或配置环境变量 NEXT_PUBLIC_SDK_BASE_URL。
快速上手
<!-- 在 index.html 中引入(相对路径,不绑定域名) -->
<script src="/sdk/playnova-app-sdk-0.2.1.js"></script>
<script>
const { pna } = PlayNovaApp;
if (pna.isInApp()) {
pna.ready({ gameId: 'my-game' });
pna.game.loadData('progress').then((data) => {
console.log('save', data);
});
pna.game.saveData('progress', { level: 3, score: 1200 });
pna.achievement.unlock({ id: 'first_win', gameId: 'my-game' });
pna.ads.showRewarded({
placement: 'revive',
reward: { type: 'life', amount: 1 },
onCompleted: () => revivePlayer(),
onFailed: (reason) => console.warn(reason),
});
}
</script>版本历史
- loadData 正确解析 Native storage.loaded 回包({ key, data, found })
- 对齐 Flutter JSBridge 云存档 / 成就解锁落地
- pna.game.saveData() / loadData() — 游戏云存档(Native → andrew-play)
- pna.achievement.unlock() — 成就解锁上报
- pna.isInApp() — 检测是否运行在 Playzly App WebView 内
- pna.ready() / pna.gameOver() — 生命周期上报
- pna.listenApp() — 监听 App pause/resume
- pna.ads.showRewarded() — 激励视频
- pna.ads.showInterstitial() — 插屏广告
- pna.ads.showBanner() / hideBanner() — Banner
- pna.user.getInfo() — 获取当前登录用户信息(Promise)
- pna.nav.openPage() — 跳转 App 原生页面
- pna.share() — 调起原生分享面板
- pna.haptic() — 触觉反馈
- pna.storage.save() / load() — 沙盒存档(Promise)