التذاكر تسمح لك بفرض رسوم واحدة من روبوكس على المستخدمين للوصول إلى امتيازات خاصة داخل لعبتك، مثل الدخول إلى منطقة مقيدة، أو عنصر شخصية داخل اللعبة، أو تعزيز دائم.
إنشاء تذكرة
لإنشاء تذكرة:
- انتقل إلى إنشاء واختر لعبة.
- انتقل إلى التمويل ⟩ التذاكر.
- انقر على إنشاء تذكرة.
- قم بتحميل صورة لعرضها كأيقونة للتذكرة. تأكد من أن الصورة لا تتجاوز 512x512 بكسل، ولا تشمل تفاصيل مهمة خارج حدودها الدائرية، وأنها بتنسيق .jpg أو .png أو .bmp.
- أدخل اسمًا ووصفًا للتذكرة.
- اختر فئة للتذكرة. تستخدم الفئة لتنظيم العناصر في متجر لعبتك.
- انقر على إنشاء تذكرة.


الحصول على معرف التذكرة
لاستخدام البرمجة النصية، تحتاج إلى معرف تذكرة. للحصول على معرف التذكرة:
انتقل إلى التمويل ⟩ التذاكر.
مرر فوق صورة مصغرة لتذكرة، انقر على زر ⋯، واختر نسخ معرف الأصل من قائمة السياق.

بيع تذكرة
يمكنك بيع التذاكر بطريقتين:
داخل لعبتك
لتنفيذ وبيع تذكرة داخل لعبة، استدعِ وظائف MarketplaceService.
استخدم GetProductInfo() لاسترجاع معلومات عن تذكرة، مثل الاسم والسعر، ثم عرض تلك التذكرة للمستخدمين. يمكنك بيع التذكرة داخل متجر لعبتك، على سبيل المثال. بالنسبة للتذاكر، يجب أن يكون المعامل الثاني Enum.InfoType.GamePass.
local MarketplaceService = game:GetService("MarketplaceService")
-- استبدل معرّف العنصر النائب بمعرف التذكرة الخاص بك
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- تحقق مما إذا كان المنتج معروضًا للبيع
if productInfo.IsForSale then
-- عرض معلومات المنتج
-- استبدل عبارات الطباعة بكود واجهة المستخدم لعرض التذكرة
print("اسم التذكرة: " .. productInfo.Name)
print("السعر بروبوك: " .. productInfo.PriceInRobux)
print("الوصف: " .. productInfo.Description)
else
print("هذا المنتج غير معروض للبيع")
end
end
استخدم PromptGamePassPurchase() لتحفيز شراء تذكرة إذا لم يكن لدى المستخدم التذكرة بالفعل في صندوقه. يمكنك استدعاء هذه الوظيفة عند قيام المستخدم بأفعال مثل الضغط على زر أو التحدث إلى NPC بائع.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- استبدل معرّف العنصر النائب بمعرف التذكرة الخاص بك
local passID = 0000000
-- تحفيز شراء التذكرة
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("خطأ أثناء التحقق مما إذا كان اللاعب يمتلك التذكرة: " .. tostring(message))
return
end
if hasPass then
-- عرض رسالة تخبر المستخدم بأنه يمتلك التذكرة بالفعل
else
-- تحفيز شراء التذكرة
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end
استخدم PromptGamePassPurchaseFinished لمعالجة أية عملية شراء تذكرة مكتملة ومنح المستخدم الامتيازات المرتبطة بالتذكرة.
وضع البرنامج النصي داخل ServerScriptService بحيث يدير الخادم امتيازات التذكرة للمستخدم.
local MarketplaceService = game:GetService("MarketplaceService")
-- استبدل معرّف العنصر النائب بمعرف التذكرة الخاص بك
local passID = 0000000 -- غير هذا إلى معرف التذكرة الخاص بك
-- معالجة عملية الشراء المكتملة
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " اشترى التذكرة بالمعرف " .. passID)
-- منح المستخدم القدرة أو الميزة المتعلقة بالتذكرة
end
end
-- ربط أحداث PromptGamePassPurchaseFinished بالوظيفة
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
خارج لعبتك
لبيع تذكرة في علامة المتجر على صفحة تفاصيل اللعبة:
- انتقل إلى التمويل ⟩ التذاكر.
- مرر فوق التذكرة وانقر على قائمة ⋯.
- اختر التذكرة التي تريد بيعها.
- اختر المبيعات.
- قم بتفعيل مفتاح العنصر المعروض للبيع.
- في حقل السعر بروبوك، أدخل مقدار روبوك الذي ترغب في فرضه على المستخدمين للحصول على التذكرة. يؤثر السعر الذي تدخله على مقدار روبوكس الذي تكسبه لكل بيع. الحد الأدنى للسعر هو 1 روبوك، والحد الأقصى هو 1 مليار روبوك.
- انقر على حفظ التغييرات. ستظهر التذكرة في علامة المتجر على صفحة تفاصيل اللعبة.
تخصيص امتيازات التذكرة
يجب عليك يدويًا تعيين امتيازات التذكرة للمستخدمين الذين يشترون تذاكرك. للقيام بذلك، استخدم PlayerAdded عندما ينضم مستخدم إلى لعبتك للتحقق مما إذا كان يمتلك التذكرة بالفعل ولتعيين امتيازات التذكرة له.
وضع البرنامج النصي داخل ServerScriptService بحيث يدير الخادم امتيازات التذكرة للمستخدم.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- استبدل معرّف العنصر النائب بمعرف التذكرة الخاص بك
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- تحقق مما إذا كان المستخدم يمتلك التذكرة بالفعل
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- أصدر تحذيرًا واخرج من الوظيفة
warn("خطأ أثناء التحقق مما إذا كان اللاعب يمتلك التذكرة: " .. tostring(message))
return
end
if hasPass then
-- منح المستخدم القدرة أو الميزة المتعلقة بالتذكرة
print(player.Name .. " يمتلك التذكرة بالمعرف " .. passID)
end
end
-- ربط أحداث PlayerAdded بالوظيفة
Players.PlayerAdded:Connect(onPlayerAdded)
تخصيص المتجر داخل اللعبة
يمكنك استخدام واجهات برمجة التطبيقات الذكية للمنتجات لتصفية وتوصية التذاكر للمستخدمين. يساعد تخصيص متجرك داخل اللعبة في تقديم العناصر الأكثر صلة لكل مستخدم، مما يزيد من التفاعل والعائدات. من خلال tailoring التذاكر لتفضيلات المستخدمين، يمكنك تحسين اكتشافها، وزيادة معدلات التحويل، وفتح فرص جديدة لتحقيق الأرباح.
تصنيف التذاكر المعروضة للبيع
RankProductsAsync تأخذ قائمة من معرفات المنتجات وترجع قائمة مرتبة شخصية من تلك المنتجات. يمكنك استخدام هذه الطريقة لتقديم توصيات المنتجات الشخصية لمستخدميك في متجرك داخل اللعبة.

local MarketplaceService = game:GetService("MarketplaceService")
-- إنشاء المصفوفة من المنتجات التي تريد تصنيفها
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- اختياري: لف الاستدعاء في مهمة غير متزامنة بحيث إذا كانت الطلبات بطيئة،
-- لن تتجمد الواجهة / اللعبة
task.spawn(function()
-- استخدم pcall للتعامل مع الأخطاء بشكل لطيف
local success, result = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
-- إذا فشل، فإن 'result' هو رسالة الخطأ.
warn("فشل في تصنيف المنتجات:", result)
end
-- تحميل العناصر المعادة إلى المتجر.
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- منطق لإضافة productInfo إلى المتجر
end
end)
عرض تذاكرك الأعلى
RecommendTopProductsAsync تأخذ مصفوفة من قيم InfoType وترجع حتى 50 عنصرًا من المرجح أن يتفاعل معها المستخدمون ويقوموا بشرائها. يمكنك استخدام هذه الطريقة لإنشاء قسم "اختيارات مميزة" في متجرك داخل اللعبة.
إذا لم تكن هناك توصيات يمكن تحديدها، سترجع RecommendTopProductsAsync 0 عنصر. أي تذاكر يمتلكها المستخدم بالفعل أيضًا لن تُرجع.
في حالات نادرة، قد تكون استدعاءات نموذج التصنيف بطيئة. للمساعدة في منع الإضافة الأخيرة للمستخدمين، نوصي باستخدام task.spawn لجعل الاستدعاء إلى RecommendTopProducts غير متوقف.

local MarketplaceService = game:GetService("MarketplaceService")
-- إنشاء مصفوفة من أنواع المنتجات التي تشمل. في هذه الحالة كل من التذاكر ومنتجات المطور
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- اختياري: لف الاستدعاء في مهمة غير متزامنة بحيث إذا كانت الطلبات بطيئة،
-- لن تتجمد الواجهة / اللعبة
task.spawn(function()
-- استخدم pcall للتعامل مع الأخطاء بشكل لطيف
local success, result = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
-- إذا فشل، فإن 'result' هو رسالة الخطأ.
warn("فشل في تصنيف المنتجات:", result)
end
-- تحميل العناصر المعادة إلى المتجر. تأكد من تصفية أي
-- عناصر غير مؤهلة من topRankedItems مثل منتجات المطور التي
-- لم يعد بإمكان المستخدم شراؤها
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- منطق لإضافة productInfo إلى المتجر
end
end)
ترويج تذكرة
لمساعدة المزيد من المستخدمين على اكتشاف لعبتك، يمكنك الاشتراك ليتم عرض تذكرتك على صفحة شراء روبوكس في Roblox. الاشتراك لترويج تذاكرك يمكن أن يساعد في زيادة الوقت وروبكس الذي يقضيه المستخدمون في لعبتك. لا يوجد حد لعدد التذاكر التي يمكنك ترويجها.
يتم عرض التذاكر للمستخدمين التي تتعلق بتاريخ لعبهم وتفاعلهم على المنصة. لا يتم عرض التذاكر التي يمتلكونها بالفعل.

عندما يشتري المستخدم حزمة روبوكس المؤهلة، يتلقى التذكرة المروجة ويُطلب منه المطالبة بتذكرته عن طريق الانضمام إلى لعبتك.

للاشتراك في ترويج إحدى تذاكرك:
- انتقل إلى التمويل ⟩ التذاكر.
- اختر التذكرة التي تريد ترويجها.
- اختر الترويجات.
- قم بتمكين تضمين هذا العنصر في مجموعة المكافآت.
- انقر على حفظ التغييرات. سيظهر التذكرة للمستخدمين المعنيين في صفحة شراء روبوكس.
تذكرة الترويج:
- يمكن أن تكون معروضة للبيع أو غير معروضة للبيع. إذا كانت معروضة للبيع، يجب أن تكون قيمتها بروبوكس أكبر من 49 روبوكس وأقل من 801 روبوكس.
- يجب أن تتضمن صورة مصغرة.
- لا يمكن أن تمنح عناصر عشوائية مدفوعة.
- يجب أن تمتثل لـ معايير المجتمع.
تحليلات التذاكر
استخدم تحليلات التذاكر لتحليل نجاح التذاكر الفردية، وتحديد الاتجاهات، وتوقع الأرباح المستقبلية المحتملة.
مع التحليلات، يمكنك:
- عرض تذاكرك الأعلى على مدى فترة زمنية محددة.
- عرض ما يصل إلى ثمانية عناصر الأعلى مبيعًا على رسم بياني زمني لتحليل إجمالي المبيعات والإيرادات الصافية.
- مراقبة كتالوجك وتصنيف العناصر حسب المبيعات والإيرادات الصافية.
- عرض عدد التذاكر التي اكتسبها المستخدمون من خلال الترويج على صفحة شراء روبوكس.
- عرض عدد المستخدمين الذين انضموا إلى لعبتك بعد اكتساب التذكرة من خلال صفحة شراء روبوكس.
للوصول إلى تحليلات التذاكر:
- انتقل إلى إنشاء واختر لعبة.
- انتقل إلى التمويل ⟩ التذاكر.
- اختر علامة التحليلات.
