适用于浏览器游戏的 PlayDrop 客户端 SDK
适用于任何 PlayDrop 游戏的可选浏览器 SDK:只需一个 script 标签,即可使用宿主生命周期、登录、存档、排行榜、购买、广告、好友、多人游戏和共享库。
PlayDrop SDK 是可选的:不使用 SDK 的游戏同样可以在 PlayDrop 上游玩。如需平台功能,例如玩家登录、存档、成就和排行榜、积分购买、广告、PlayDrop Chat 中的好友和游戏卡片、分享链接、由宿主管理的暂停和音频、托管多人游戏以及 AI 生成,请添加 SDK。PlayDrop Cloud 会为你完成集成;使用 PlayDrop Connector 时,你的 Agent 只需添加一个 script 标签。
添加 SDK 并遵循宿主生命周期
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
const sdk = await playdrop.init();
// Render the game and prepare input, then:
sdk.host.ready();
sdk.host.onPause(() => pauseGame());
sdk.host.onResume(() => resumeGame());
sdk.host.onAudioPolicyChange(({ enabled }) => setAudioEnabled(enabled));
</script>从 PlayDrop 的 CDN 加载 SDK,无需安装任何包。先渲染第一个可玩帧并准备好输入,然后再调用 sdk.host.ready()。宿主暂停时暂停模拟,恢复时不要产生重复循环,并遵循宿主的音频策略。
身份、存档和语言
sdk.me 提供玩家身份,sdk.me.appData 存储私人存档;sdk.achievements 和 sdk.leaderboards 处理成就和分数。存档、成就和排行榜无需预先检查登录状态即可使用。对于需要真实账户的功能(例如购买或多人游戏),请使用 sdk.me.isLoggedIn。预览和截取模式不得写入玩家进度。sdk.host.locale 提供玩家语言:请提供英语版本,如果你的语言不是英语,也一并提供。翻译商店页面并不会翻译游戏内容。
库、资源和多人游戏
sdk.libs 可加载受支持版本的 Three.js、Phaser、Rapier、nipplejs 和 Colyseus。sdk.assets 提供目录、资源包和资源引用;sdk.social 提供好友、游戏卡片和分享操作。对于托管多人游戏,sdk.multiplayer.getConnection() 会返回服务器地址和已登录玩家的令牌;请使用 Colyseus 客户端加入。服务器 SDK 页面介绍托管服务器;你自己运行的服务器完全不需要 SDK。旧的中继房间 API 已停用。
发布前用 SDK 测试
照常运行你的开发服务器,然后在 Chrome 中打开 https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/,即可在真实的 PlayDrop 框架中配合 SDK 宿主游玩。任何 localhost 端口或 https URL 都适用。需要账户的功能(例如存档和购买)在游戏上传过一次后即可使用;私人上传就足够了。浏览器端媒体生成以异步任务运行,并附带经宿主确认的积分费用。商店页面元数据请参阅 catalogue.json。