PlayDrop logoPlayDrop Studio
創作互玩賺取學習連接器素材社群支援
PlayDrop logoPlayDrop Studio
創作互玩賺取學習連接器素材社群支援
登入
分享、好友與邀請
文件

從這裡開始

總覽你的第一款遊戲PlayDrop 遊戲常見問題

用 Cloud 創作

Cloud 創作方案與生成次數

連接你的 AI App

所有連接器ClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

發布與分享

從你的 AI App 發布簡易 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;點按之後才產生,可能會失去瀏覽器的分享權限。
  • 你無法分享自訂網址或其他檔案。連結永遠是遊戲的頁面。

圖片錯誤有 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);
}

以 cursor: page.nextCursor 繼續讀取,直到它為 null。

玩這款遊戲的好友

sdk.social.listGameFriends() 會傳回最近在這款遊戲中有工作階段的好友:很適合用在「一起玩」按鈕上。它不會公開完整的好友清單或上線狀態。openProfile(userId) 會開啟玩家的個人檔案,openChat({ recipientUserId, draftMessage }) 則會開啟 Chat,並附上一則可編輯的草稿,由玩家自己傳送。

對於透過朋友而來的新玩家,sdk.host.launchFriend 可能已有值。請提議和對方一起玩,並用 selectFriends({ max: 1 }) 確認;絕不要自動開始任何事。

推薦其他遊戲

在自然的休息時機,例如遊戲結束時,sdk.host.showGames({ games: ["@creator/name"] }) 會顯示一到三款其他公開遊戲的 PlayDrop 卡片,並暫停你的遊戲。它會以 played(接著 PlayDrop 會切換遊戲)或 dismissed 完成。sdk.host.preloadGame(ref) 會提示玩家接下來可能開啟的遊戲。

需求

分享與社群呼叫需要使用 SDK 的套件。好友功能需要已登入的玩家。主機端擁有的視窗會暫停遊戲;請處理暫停與恢復。

相關指南

  • 線上派對與語音讓朋友一起線上玩你的遊戲:宣告派對人數、開啟 PlayDrop 的派對視窗、用 sdk.multiplayer.join 加入預留的房間,並控制房間語音。
  • 可見性與觸及選擇誰能開啟 PlayDrop 遊戲,了解帳號預設值與版本發布如何運作,以及 Boost、互玩、即玩和搜尋如何帶來新玩家。
  • 排行榜在 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