PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
เข้าสู่ระบบ
การแชร์ เพื่อน และคำเชิญ
เอกสาร

เริ่มที่นี่

ภาพรวมเกมแรกของคุณเกม PlayDropFAQ

สร้างด้วย Cloud

การสร้างด้วย Cloudแพ็กเกจและการสร้าง

เชื่อมต่อแอป AI ของคุณ

คอนเนกเตอร์ทั้งหมดClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

เผยแพร่และแชร์

เผยแพร่จากแอป AI ของคุณเกม HTML แบบง่ายการจัดแพ็กเกจและ .playเผยแพร่และนำเข้าไฟล์เกมการมองเห็นและการเข้าถึงผู้เล่นภาพและวิดีโอของหน้าเกมประเภทเกมและแท็กการแปลเกม Instant

ประสบการณ์การเล่น

การโหลด การหยุดชั่วคราว และเสียงเต็มหน้าจอและพื้นที่ปลอดภัยการบันทึกบนคลาวด์ปาร์ตี้ในเครื่องและคอนโทรลเลอร์

เล่นด้วยกัน

การแชร์ เพื่อน และคำเชิญลีดเดอร์บอร์ดความสำเร็จปาร์ตี้ออนไลน์และแชทเสียงเซิร์ฟเวอร์เกมเรียลไทม์

สร้างรายได้

การสร้างรายได้เครดิตและรางวัล

แอสเซ็ต

แอสเซ็ตเกมการสร้างแอสเซ็ตด้วย AIรูปแบบที่กำหนดเองและผลงานผู้เล่น

เอกสารอ้างอิง

SDK ฝั่งไคลเอนต์SDK ฝั่งเซิร์ฟเวอร์catalogue.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: Blob แบบ GIF, JPEG, PNG หรือ WebP ขนาดไม่เกิน 8 MiB โฮสต์ที่แนบภาพไม่ได้จะแชร์เฉพาะลิงก์
  • video: Blob แบบ MP4 ยาวไม่เกิน 15 วินาทีและไม่เกิน 20,000,000 ไบต์ ใช้แทนภาพ H.264/AAC ที่ 1080p ในสัดส่วน 16:9, 9:16 หรือ 1:1 ใช้ได้ดีที่สุด โฮสต์ที่ไม่รองรับวิดีโอจะปฏิเสธด้วย 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);
}

ทำต่อด้วย cursor: page.nextCursor จนกว่าจะเป็น null

เพื่อนที่เล่นเกมนี้

sdk.social.listGameFriends() ส่งคืนเพื่อนที่มีเซสชันล่าสุดในเกมนี้: เหมาะสำหรับปุ่ม "เล่นกับ" ฟังก์ชันนี้ไม่เปิดเผยรายชื่อเพื่อนทั้งหมดหรือสถานะออนไลน์ openProfile(userId) เปิดโปรไฟล์ของผู้เล่น และ openChat({ recipientUserId, draftMessage }) เปิดแชทพร้อมข้อความร่างที่แก้ไขได้ ซึ่งผู้เล่นจะส่งเอง

ผู้เล่นใหม่ที่มาจากเพื่อนอาจมีค่า 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 ได้ ค่าเริ่มต้นของบัญชีและการเผยแพร่เวอร์ชันทำงานอย่างไร และบูสต์ แลกกันเล่น Instant และการค้นหาพาผู้เล่นใหม่มาได้อย่างไร
  • ลีดเดอร์บอร์ดประกาศลีดเดอร์บอร์ดใน 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