رفتن به محتوا
xuka●توسعه‌دهندگان
فهرست فضای توسعه‌دهندگان

شروع کار با کیت

شِل بازی را با مبدأ، ورودی، مبدأ والد و شناسهٔ پرتاب باز می‌کند. کلاینت بدون این مقدارها ساخته نمی‌شود.

نشانی راه‌اندازی

text
{gameOrigin}{entry}?parentOrigin={shellOrigin}&launchId={uuid}

createGameClient خطا می‌دهد اگر این مقدارها نباشند یا parentOrigin یک مبدأ http: / https: نباشد.

در محیط انتشار، API برای بازی‌های داخلی نشانی /releases/<id>/<game>/... می‌دهد. HTML پیش از اجرای بازی منتظر worker می‌ماند و با import map ماژول‌های بازی و SDK را به همان انتشار متصل می‌کند؛ HTTPS، worker و import map لازم‌اند. پاسخ نشانی‌های متغیر بازنویسی‌شده no-store است. توسعه نشانی‌های فعلی را نگه می‌دارد. شناسهٔ انتشار از نسخهٔ 1.0.0 و پروتکل پل مستقل است؛ کد قدیمی هنگام قطع اینترنت جایگزین نمی‌شود. رسانه‌های دارای هش از کش مشترک SDK استفاده می‌کنند و نگه‌داری فایل‌ها مرحلهٔ دانلود را تغییر نمی‌دهد.

دست‌دادن

  1. کلاینت را با protocolVersion و capabilities تبلیغ‌شده بساز.
  2. onMessage را ثبت کن و ready() را صدا بزن. کلاینت حدود هر ثانیه ready را تکرار می‌کند تا تأیید شود.
  3. شِل init را با { session, displayName, capabilities?, presentation?, audioSettings?, graphicsSettings? } می‌فرستد. قابلیت‌های تأییدشده اشتراک مانیفست ثبت‌شده، تبلیغ ready و پشتیبانی میزبان است.
  4. بازی acknowledge() را صدا می‌زند. تکرار ready می‌ایستد و برای assets-v1 آماده‌سازی دارایی نشست شروع می‌شود.
  5. init تکراری نباید بازی شروع‌شده را از نو بنشاند.
js
sdk.onMessage(({ type, payload }) => {
  if (type === "init") {
    sdk.acknowledge();
    // apply payload.session once
  }
  if (type === "pause") {
    /* freeze input and sound */
  }
  if (type === "resume") {
    /* continue */
  }
});
sdk.ready();

بعد از شروع بازی

  • با تغییر حرکت یا زمان، progress را با moves و elapsedMs صحیح بفرست.
  • برای پروتکل ۲ قبل از completed رویداد checkpoint بفرست.
  • completed یک پیشنهاد است. فرض نکن پاداش نشسته است.
  • برای اعلان کوتاه از toast استفاده کن. خطای مسدودکننده را هم جدا نگه دار.
  • اگر صفحه کلاینت را جمع می‌کند dispose() را صدا بزن.

از شِل در http://127.0.0.1:5173 بازی کن، نه با باز کردن تنها نشانی میزبان بازی.