PlayDrop logoPlayDrop Studio
作成プレイ交換稼ぐ学ぶコネクタアセットコミュニティサポート
PlayDrop logoPlayDrop Studio
作成プレイ交換稼ぐ学ぶコネクタアセットコミュニティサポート
ログイン
共有、フレンド、招待
ドキュメント

はじめに

概要初めてのゲームPlayDrop のゲームよくある質問

Cloud で作る

Cloudで作成プランと生成回数

AI アプリを接続

すべてのコネクタClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

公開と共有

AI アプリから公開するシンプルな HTML ゲームパッケージ化と .play公開とインポートゲームファイル公開範囲と集客掲載用アートと動画ジャンルとタグローカライズインスタントゲーム

ゲーム体験

読み込み、一時停止、オーディオ全画面とセーフエリアクラウドセーブローカルパーティーとコントローラー

一緒に遊ぶ

共有、フレンド、招待ランキング実績オンラインパーティーと音声リアルタイムゲームサーバー

収益を得る

収益化クレジットと報酬

アセット

ゲームアセットAI アセット生成独自形式とプレイヤーの作品

リファレンス

クライアント SDKサーバー SDKcatalogue.jsonエラーと復旧トラブルシューティング
ドキュメント共有、フレンド、招待
一緒に遊ぶ

PlayDrop ゲームの共有、フレンド、招待

画像やクリップを添えてゲームを共有し、起動ペイロードを読み取り、フレンドを選んで PlayDrop Chat で招待カードや挑戦カードを送り、ほかのゲームをおすすめします。

共有シート、フレンドリスト、チャットは PlayDrop が担当し、ゲームはちょうどいいタイミングでそれらを呼び出します。プレイヤーが友達を連れてきて、その友達があなたのゲームにやって来ます。

ゲームを共有する

タップやクリックから sdk.host.share() を呼び出します。ゲームの公開ページを、任意のテキスト、画像または短い動画、任意の起動ペイロードを添えて共有します。

js
shareButton.addEventListener("click", async () => {
  try {
    await sdk.host.share({ text: `I reached level ${level} in Moon Jump`, image: scoreCardBlob, payload: "level-7" });
  } catch (error) {
    console.warn("Share failed", error);
  }
});
  • image:最大 8 MiB の GIF、JPEG、PNG、WebP の Blob。画像を添付できないホストでは、リンクだけが共有されます。
  • video:画像の代わりに使う、最大15秒、20,000,000 バイトの MP4 の Blob。16:9、9:16、1:1 の 1080p、H.264/AAC がいちばん適しています。動画に対応していないホストは、普通のリンクを共有するのではなく、host_share_video_unsupported で拒否します。
  • Blob はタップの前に用意しておいてください。タップのあとで生成すると、ブラウザの共有の許可が失われることがあります。
  • 独自の URL やほかのファイルは共有できません。リンクは常にゲームのページです。

画像のエラーは invalid_host_share_image、host_share_image_type、host_share_image_too_large です。

起動ペイロードを読み取る

payload は最大256文字の base64url です。共有リンクを開いたプレイヤーがゲームを始めると、sdk.host.launchPayload にその値が入ります。ない場合は null です。信頼できない入力として扱ってください。内容を検証し、ペイロードが指すルームにそのプレイヤーが参加してよいかをサーバーで確認します。認証情報は絶対に入れないでください。

フレンドを選んでゲームカードを送る

sdk.social.selectFriends({ max }) は PlayDrop のフレンド選択画面(1〜10人、既定は1人)を開き、プレイヤーが選んだフレンドだけを返します。キャンセルした場合は [] を返します。そのあと、PlayDrop Chat に表示されるカードを送ります。

js
const [friend] = await sdk.social.selectFriends({ max: 1 });
if (friend) {
  await sdk.social.sendMessage({
    recipientUserId: friend.id,
    type: "challenge",
    title: "Beat my time: 42.3 s",
    subtitle: "Moon Jump, level 7",
    payload: "level-7",
    clientMessageId: `challenge-${runId}-${friend.id}`,
  });
}
  • type は invite、request、gift、challenge、turn のいずれかです。
  • title は最大80文字、subtitle は最大160文字です。
  • expiresInSeconds は60秒から30日(既定値)までです。
  • clientMessageId があると安全に再試行できます。同じ値を再利用すると、元のメッセージが返されます。
  • メッセージを送れる相手は、プレイヤーが選んだフレンド、このゲームを遊んでいるフレンド、すでにゲームのメッセージをやり取りしているプレイヤーです。マッチメイキングで出会った知らない人にはメッセージを送れません。

届いたカードは getMessages({ limit }) で古い順に読み取り、それぞれ consumeMessage(message.id) で処理済みにします。送信者は message.from.id です。

js
const page = await sdk.social.getMessages({ limit: 20 });
for (const message of page.messages) {
  await applyCard(message.type, message.from.id, message.payload);
  await sdk.social.consumeMessage(message.id);
}

null になるまで、cursor: page.nextCursor で続きを読み取ります。

このゲームを遊んでいるフレンド

sdk.social.listGameFriends() は、このゲームで最近セッションがあったフレンドを返します。「一緒に遊ぶ」ボタンにちょうどいいリストです。フレンドリスト全体やオンライン状態は公開されません。openProfile(userId) はプレイヤーのプロフィールを開き、openChat({ recipientUserId, draftMessage }) は、編集できる下書き付きでチャットを開きます。送信するのはプレイヤー自身です。

友達経由でやって来た新しいプレイヤーには、sdk.host.launchFriend が設定されていることがあります。その友達と一緒に遊ぶことを提案し、selectFriends({ max: 1 }) で確認してください。何かを自動で始めるのは絶対にやめてください。

ほかのゲームをおすすめする

ゲームオーバーなどの自然な区切りで sdk.host.showGames({ games: ["@creator/name"] }) を呼び出すと、ほかの公開ゲーム1〜3本の PlayDrop カードを表示し、あなたのゲームを一時停止します。結果は played(PlayDrop がそのゲームに切り替えます)か dismissed です。sdk.host.preloadGame(ref) は、プレイヤーが次に開きそうなゲームを PlayDrop に伝えます。

必要なもの

共有とソーシャルの呼び出しには、SDK を使うパッケージが必要です。フレンドの機能には、サインイン中のプレイヤーが必要です。ホストのウィンドウはゲームを一時停止するので、一時停止と再開に対応してください。

関連ガイド

  • オンラインパーティーと音声友達どうしでオンラインで一緒に遊べるようにします。パーティーの人数を宣言し、PlayDrop のパーティー画面を開き、sdk.multiplayer.join で予約済みのルームに参加し、ルーム音声を制御します。
  • 公開範囲と集客PlayDrop のゲームを誰が開けるかの選び方、アカウントの既定設定とバージョン公開のしくみ、ブースト、プレイ交換、インスタント、検索で新しいプレイヤーを集める方法を説明します。
  • ランキングcatalogue.json でランキングを宣言し、sdk.leaderboards でスコアを送信して、上位とプレイヤー周辺の順位を表示します。スコアの種類、制限、更新のルールも説明します。
前へPlayDrop ゲームのローカルパーティー、ゲームパッド、スマホコントローラー次へPlayDrop ゲームのランキング
Markdownを表示
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

このページの内容

ゲームを共有する起動ペイロードを読み取るフレンドを選んでゲームカードを送るこのゲームを遊んでいるフレンドほかのゲームをおすすめする必要なもの
Markdownを表示