ブラウザゲーム向け PlayDrop クライアント SDK
あらゆる PlayDrop ゲームで使える任意のブラウザ SDK:ホストのライフサイクル、サインイン、セーブデータ、リーダーボード、購入、広告、フレンド、マルチプレイヤー、共有ライブラリを script タグ 1 つで利用できます。
PlayDrop SDK の導入は任意です。SDK がなくても、ゲームは PlayDrop でプレイできます。プレイヤーのサインイン、セーブデータ、実績とリーダーボード、クレジットでの購入、広告、PlayDrop Chat でのフレンドとゲームカード、共有リンク、ホストが管理する一時停止とオーディオ、ホスト型マルチプレイヤー、AI 生成といったプラットフォーム機能を使うには、SDK を追加してください。PlayDrop Cloud では SDK が自動で統合されます。PlayDrop Connector を使う場合は、エージェントが script タグを 1 つ追加します。
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>SDK は PlayDrop の CDN から読み込みます。パッケージのインストールは不要です。sdk.host.ready() を呼び出す前に、最初のプレイ可能なフレームを描画し、入力を準備してください。ホストが一時停止したらシミュレーションを一時停止し、ループを重複させずに再開し、ホストのオーディオポリシーに従ってください。
ID、セーブデータ、言語
sdk.me はプレイヤーの ID を提供し、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/ を開くと、SDK ホストを備えた実際の PlayDrop フレーム内でプレイできます。localhost の任意のポートや https URL を使用できます。セーブデータや購入など、アカウントが必要な機能は、ゲームを一度アップロードすると動作します。非公開のアップロードで十分です。ブラウザでのメディア生成は、ホストが確認したクレジットコストを伴う非同期タスクとして実行されます。掲載情報のメタデータについては、catalogue.json を参照してください。