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

قابلیت‌ها

پشتیبانی میزبان امروز: assets-v1، session-v1، session-navigation-v1، purchases-v1، presentation-v1 و audio-settings-v1. پرتاب پروتکل ۲ به assets-v1 و session-v1 نیاز دارد. purchases-v1 و session-navigation-v1 فقط وقتی اجباری‌اند که بازی آن‌ها را اعلام کند. نمایش و صدا تا وقتی init.capabilities آن نام را دارد خاموش می‌مانند.

کیفیت گرافیک

با قابلیت اختیاری graphics-settings-v1 در پروتکل ۲، شِل انتخاب خودکار، کم، متوسط یا زیاد را روی همین دستگاه ذخیره می‌کند. init.graphicsSettings و graphics.settings مقدار preference، quality و revision را می‌فرستند. graphics.settings() را پیش از ساخت صحنه بخوان و با graphics.subscribe تغییرات را اعمال کن. graphics.frame(now, active) فقط فریم‌های حرکت واقعی را می‌سنجد؛ هنگام آماده‌سازی و تغییر اندازه graphics.reset() را صدا بزن. حالت خودکار کیفیت اولیه را از نشانه‌های کلی سخت‌افزار تخمین می‌زند و پس از افت پایدار یک پله کم می‌کند؛ انتخاب دستی ثابت می‌ماند. graphics.applied کاهش خودکار را با revision فعلی گزارش می‌کند. اطلاعات سخت‌افزار از پل عبور نمی‌کند. شوتبال نخستین مصرف‌کننده است.

assets-v1

  • assets.resolve(selector) — شناسهٔ دقیق یا پرس‌وجو. نتیجهٔ خالی گسترش داده نمی‌شود.
  • assets.load(descriptor) — واکشی و decode. تصویر می‌شود Image به‌علاوهٔ object URL؛ صدا می‌شود AudioBuffer.
  • assets.get(key) — دارایی ازپیش‌بارگذاری‌شدهٔ نشست بعد از acknowledge / assets.loaded.

بازی مسیر فایل کاتالوگ را نمی‌بیند. دارایی نشست می‌تواند required: true داشته باشد؛ شکست بارگذاری لازم بازی را بند می‌آورد. کلید اختیاری می‌تواند undefined باشد یا error داشته باشد. فهرست بسته‌های قابل‌نمایش برای توسعه‌دهنده در دارایی‌ها است.

session-v1

  • session.checkpoint(events, elapsedMs) — یک دسته رویداد را نگه می‌دارد. نشست عمومی در موفقیت برمی‌گردد.
  • session.resume() — بعد از تعارض یا تازه‌سازی، نشست سرور را دوباره می‌خواند.
  • session.navigate({levelId}) با session-navigation-v1 دور تازه‌ای می‌خواهد. null نقشه را باز می‌کند.

نشست عمومی نسخهٔ ۲ می‌تواند حالت نمایش، revision، پیشنهادها، entitlementها، پاداش ثابت و توصیفگر دارایی داشته باشد. مسیر حل خصوصی و هویت مالک به بازی نمی‌رسد.

purchases-v1

  • purchases.list() — پیشنهادهای فعلی.
  • purchases.buy(offerId) — شِل تأیید مطمئن نشان می‌دهد. بازی قیمت یا موجودی نمی‌گوید.

CANCELLED یعنی بازیکن تأیید را بست. تحویل تکراری با تکرارناپذیری سرور است، نه با کسر دوباره در بازی.

presentation-v1

init.presentation برابر { sceneId?, sceneRevision?, themeId, themeRevision, theme } است. sdk.presentation() همان رکورد حل‌شده را می‌دهد. بازی رنگ یا CSS والد نمی‌فرستد.

audio-settings-v1

init.audioSettings و بعد audio.settings شکل { muted, musicVolume, effectsVolume, ambienceVolume } با مقدار ۰ تا ۱ دارند. کلاینت با audio.settings-applied { requestId } تأیید می‌کند. میزبان قدیمی دکمهٔ بی‌صدای تزئینی نشان نمی‌دهد.

دست‌دادن قابلیت

پرتاب پروتکل ۲ به assets-v1 و session-v1 نیاز دارد. اگر بازی purchases-v1 را هم اعلام کند آن هم لازم است (جورچین). واژه‌چین و مین‌روب خرید اعلام نمی‌کنند. اگر اشتراک لازم ناقص باشد شِل خطای به‌روزرسانی نشان می‌دهد. presentation-v1 و audio-settings-v1 اختیاری‌اند.