أفكار وميزات للعبة

ميزتك التالية

السوق

تداول عنصر المخزون الأصلي بين لاعبين.

SDK: فرع developتتطلب جلسة لاعب
Unity
رسم توضيحي لميزة السوق
النتيجة المرئية

يحصل المشتري على العنصر نفسه ويحصل البائع على السعر المتفق عليه بعد خصم الرسوم المحددة.

الفيديو قادم لاحقًا

لا يوجد فيديو لهذه الخطوة بعد. الدليل وطلب MCP متاحان للاستخدام.

السوق

جهّزوا المشروع نفسه

  1. اختر في لوحة التحكم المشروع نفسه الموجود في إعداد لعبتك.

    السوق →
  2. لا يحتاج الطلب الأول إلى تعريف إضافي. النتيجة الفارغة صالحة ما دامت بيانات اللعبة المطابقة غير موجودة.

    حددوا عملة ورسوماً وقاعدة أسعار نشطة واحدة على الأقل.

    استخدم لاعبين مسجلين في المشروع نفسه. اضبط العملة والرسوم وقاعدة السعر، ثم اعرض عنصراً غير مجهز وأكّد شراءه صراحةً.

    العناصر →قيم اللاعب →

أضف هذه الميزة

يمكنك الاطلاع على الدليل. يتطلب التنفيذ مفتاح مشروع نشطًا. تجهيز المشروع

SDK مُثبّت وإعداد المشروع مُستورد واللاعب مسجّل الدخول.

يستخدم مثال SDK هذا فرع develop. تحقّق من وجود واجهات API المطلوبة في SDK المثبّت.

أكملوا اتصال البدء السريع باللاعب المقصود. استدعوا ReadListing(listingId) بزر أو إجراء مشهد صريح. فتح الملف وحده لا يرسل طلباً.

C#
Assets/Scripts/MarketplaceDemo.cs
استدعاء horizOn
1using System.Threading.Tasks;
2using UnityEngine;
3using PM.horizOn.Cloud.Examples.Features;
4using PM.horizOn.Cloud.Objects.Network.Responses;
5​
6public class MarketplaceDemo : MonoBehaviour
7{
8 // Import the SDK Examples sample. Bind its screen to the signed-in player
9 // and set the stable projectId in the Inspector. Never use an Account Key.
10 public MarketplaceExample screen;
11​
12 public Task<MarketplaceResult<MarketplaceListingView>> ReadListing(string listingId)
13 => MarketplaceQuickstart.ReadOneListing(screen, listingId);
14​
15 // Wire only to the player's Buy confirmation after displaying ReadListing.
16 public Task<bool> ConfirmPurchase(string listingId)
17 => MarketplaceQuickstart.BuyReviewedListing(screen, listingId);
18​
19 // false/timeout does not prove nonexecution. Use screen.RetryPending() or
20 // screen.RecoverOriginalOperation(); never replace the unresolved original.
21 // The sample refreshes Inventory, Values and Marketplace before acknowledgement.
22 // Its native file journal rejects WebGL writes; use a durable browser persister.
23}
فتح مثال SDK الكامل ↗

اختبر باستخدام لاعبين

استخدم لاعبين مسجلين في المشروع نفسه. اضبط العملة والرسوم وقاعدة السعر، ثم اعرض عنصراً غير مجهز وأكّد شراءه صراحةً.

استخدم جلسة تسجيل الدخول الحالية. بعد شراء غير مؤكد، احتفظ بالطلب الأصلي نفسه وأعد إرساله، ثم حدّث المخزون والأرصدة.

يحمي الإلغاء العنصر الأصلي حتى يستلمه مالكه. تتاح الاستعادة فقط إذا حُذف المالك السابق.

تُحفظ العروض وحماية تكرار العمليات مرة واحدة في المشروع. يحتفظ اللاعبون بمراجع وبيانات حالة محدودة.

اختبر ميزتك الجديدة.

يحصل المشتري على العنصر نفسه ويحصل البائع على السعر المتفق عليه بعد خصم الرسوم المحددة.

اختر في لوحة التحكم المشروع نفسه الموجود في إعداد لعبتك.

نقاط النهاية
  • GET/marketplace/limits
  • GET/marketplace/rules
  • GET/marketplace
  • GET/marketplace/listings
  • GET/marketplace/listings/{listingId}
  • POST/marketplace/listings
  • POST/marketplace/listings/{listingId}/buy
  • POST/marketplace/listings/{listingId}/cancel
  • GET/marketplace/operations/{operationId}
  • POST/marketplace/listings/{listingId}/retry-return
كل نقاط النهاية في مرجع API
اقتراحنا لخطوتك التالية

أضف رقمًا قياسيًا لكل جولة.

احفظ النتيجة بعد الجولة وأظهر المتصدر. واصل استخدام اتصالك وجلسة اللاعب.