Geliştirici Ürünleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir geliştirici ürünü, bir kullanıcının birden fazla kez satın alabileceği bir öğe veya yetenektir; örneğin, oyun içi para, mermi veya iksir.

Geliştirici ürünü oluşturma

Bir geliştirici ürünü oluşturmak için:

  1. Yaratımlar sayfasına gidin ve bir oyun seçin.
  2. Monetizasyon ⟩ Geliştirici Ürünleri sekmesine gidin.
  3. Geliştirici ürünü oluştur butonuna tıklayın.
  4. Ürün simgesi olarak görüntülenecek bir resim yükleyin. Resmin 512x512 pikseli geçmediğinden, dairesel sınırlarının dışında önemli detaylar içermediğinden ve .jpg, .png veya .bmp formatında olduğundan emin olun.
  5. Ürün için bir ad ve açıklama girin.
  6. Ürün için bir kategori seçin. Kategori, oyun içi Mağazanızdaki öğeleri düzenlemek için kullanılır.
  7. Ürün fiyatını Robux cinsinden belirleyin. Minimum fiyat 1 Robux, maksimum fiyat ise 1 milyar Robux'tur.
  8. Değişiklikleri Kaydet butonuna tıklayın.

Geliştirici ürünü kimliğini alma

Scripting kullanmak için bir geliştirici ürünü kimliğine ihtiyacınız var. Ürün kimliğini almak için:

  1. Monetizasyon ⟩ Geliştirici Ürünleri sekmesine gidin.

  2. Bir ürünün küçük resminin üzerine gelin, ⋯ butonuna tıklayın ve bağlam menüsünden Varlık Kimliğini Kopyala seçeneğini seçin.

Geliştirici ürününü satma

Geliştirici ürünlerini satmadan önce, satış makbuzlarını doğru bir şekilde işlediğinizden ve kullanıcılara satın aldıkları ürünleri verdiğinizden emin olun. Bunu yapmak için:

  • Satın alma makbuzlarını kontrol etmek için ProcessReceipt API'sini kullanın. ProcessReceipt, bir kullanıcının oyunun dışında bir ürünü satın aldığını otomatik olarak okur ve onaylar.
  • Her makbuzu Kullanıcı Kimliği, Geliştirici Ürün Kimliği ve makbuz durumu için doğrulayın.
  • Eğer makbuzun durumu Açık ise, kullanıcıya satın aldıkları geliştirici öğelerini verin.
  • ProcessReceipt API'sine makbuzu onaylayan ve satın alınan öğelerin verildiğini doğrulayan bir mesajla yanıt verin.

Geliştirici ürünlerini iki şekilde satabilirsiniz:

Oyun içinde

Bir geliştirici ürününü bir oyunun içinde uygulamak ve satmak için MarketplaceService fonksiyonlarını çağırın.

Geliştirici ürününün adı ve fiyatı gibi bilgileri almak için GetProductInfo fonksiyonunu kullanın ve ardından bu ürünü kullanıcılara gösterin. Örneğin, ürünü oyununuzun pazarında satabilirsiniz. Geliştirici ürünleri için ikinci parametre Enum.InfoType.Product olmalıdır.

local MarketplaceService = game:GetService("MarketplaceService")
-- Yer tutucu kimliği geliştirici ürün kimliğinizle değiştirin
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Ürün bilgilerini göster
-- Ürünü göstermek için print ifadelerini UI koduyla değiştirin
print("Geliştirici Ürün Adı: " .. productInfo.Name)
print("Robux Fiyatı: " .. productInfo.PriceInRobux)
print("Açıklama: " .. productInfo.Description)
end

GetDeveloperProductsAsync fonksiyonunu kullanarak oyununuzla ilişkili tüm geliştirici ürünlerini alabilirsiniz. Bu fonksiyon, inceleyip filtreleyebileceğiniz bir Pages nesnesi döndürür; böylece oyun içi bir mağaza veya ürün listesi GUI'si oluşturabilirsiniz.

local MarketplaceService = game:GetService("MarketplaceService")
local success, developerProducts = pcall(function()
return MarketplaceService:GetDeveloperProductsAsync()
end)
if success and developerProducts then
local firstPage = developerProducts:GetCurrentPage()
for _, developerProduct in firstPage do
-- Ürünü göstermek için print ifadesini UI koduyla değiştirin
print(field .. ": " .. value)
end
end

Oyun içinde ürün satın alımını teşvik etmek için PromptProductPurchase fonksiyonunu kullanın. Bu fonksiyonu, bir kullanıcı bir butona bastığında veya bir satıcı NPC ile konuştuğunda çağırabilirsiniz.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Yer tutucu kimliği geliştirici ürün kimliğinizle değiştirin
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Satın alma istemi başarıyla gösterildi")
end
end

Ayrıca, LocalScript içinde fonksiyonları birleştirebilirsiniz. Örneğin, bir buton veya bir satıcı NPC gibi bir UI öğesi oluşturabilir, ardından GetProductInfo() fonksiyonunu kullanarak mevcut bir geliştirici ürününü o öğeye bağlayabilir, ürünün satışta olup olmadığını kontrol edebilir ve kullanıcı tıkladığında satın alma istemini göstermek için PromptProductPurchase() fonksiyonunu kullanabilirsiniz.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Yer tutucu kimliği geliştirici ürün kimliğinizle değiştirin
local productId = 000000
-- Kullanıcı UI butonuna tıkladığında ürün bilgilerini alır
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Ürünün satışta olup olmadığını kontrol eder
if productInfo.IsForSale then
print("Bu satışta")
-- Ürün satın alımını teşvik eder
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Ürünün satışta olmadığını bildirir
print("Bu ürün şu anda satışta değil.")
end
else
print("Ürün bilgilerini alma hatası: " .. tostring(productInfo))
end
end)

Oyun dışında

Geliştirici ürün satın alımlarını oyununuzun dışında etkinleştirmek için ProcessReceipt API'si ile çalışmalısınız. Bir kullanıcı oyununuzun detay sayfasındaki Mağaza sekmesinde bir satın alma yaptığında, ProcessReceipt fonksiyonunu kullanarak satın alımını onaylamalı ve oyununuzda bulunduklarında onlara öğelerini vermelisiniz.

Test modu

Test modu özelliği, oyununuzun dışında bir geliştirici ürünü satın alımını simüle ederek satın alma akışınızı doğrulamanıza yardımcı olur. Dış geliştirici ürünü satışlarını etkinleştirmeden önce ProcessReceipt fonksiyonunu doğru bir şekilde uyguladığınızdan emin olmak için test modunu kullanmalısınız.

Test modunda satışa sunduğunuz geliştirici ürünleri yalnızca siz ve grubunuzun üyeleri tarafından görülebilir. Kullanıcılara görünmezler.

Uygulamanızı test etmek için:

  1. Yaratıcı Merkez'e gidin, Monetizasyon ⟩ Geliştirici Ürünleri sekmesine tıklayın.
  2. ⋮ menüsüne tıklayın ve Dış Satın Alma Ayarları seçeneğini seçin.
  3. Dış Satın Alma Ayarları sayfasında, Test modunu etkinleştir butonuna tıklayın.
  4. Test modu aktif olduktan sonra, Geliştirici Ürünleri sayfasına geri dönün ve test etmek için bir ürün seçin.
  5. Temel Ayarlar sayfasında, Dış satın alımlara izin ver onay kutusunu işaretleyin ve değişikliklerinizi kaydedin.
  6. Oyun detay sayfasının Mağaza sekmesine gidin ve satışa sunduğunuz ürünü satın alın.
  7. Oyuna girin ve satın aldığınız ürünü aldığınızı onaylayın. ProcessReceipt API'sinin makbuz durumu Kapalı olarak güncellenmelidir.

Uygulamanızı test ettikten sonra, Roblox testin başarıyla tamamlandığını doğrular ve geliştirici ürünlerini oyunlarınızın dışında satma özelliğini tamamen etkinleştirmenize izin verir.

ProcessReceipt API'si ve uygulaması hakkında daha fazla bilgi için ProcessReceipt sayfasına bakın.

Dış satışları etkinleştirme

Dış satışları etkinleştirmek için:

  1. Dış Satın Alma Ayarları sayfasına gidin.
  2. Dış Satın Almaları açın.
  3. Geliştirici Ürünleri sayfasına geri dönün ve oyununuzun dışında satmak istediğiniz ürünleri seçin.
  4. Temel Ayarlar sayfasında, Dış satın alımlara izin ver onay kutusunu işaretleyin ve değişikliklerinizi kaydedin.
  5. Ürünlerin artık oyun detay sayfasının Mağaza sekmesinde satın alınabilir olduğunu onaylayın.

Bir geliştirici ürününün dış satışını devre dışı bırakmak için, Geliştirici Ürünleri sayfasında ürünü seçin ve Dış satın alımlara izin ver onay kutusunu temizleyin.

Sınırlamalar

  • Test modundaki satışta olan öğeler gerçek Robux maliyetindedir. Düşük maliyetli geliştirici ürünlerini test etmenizi öneririz.
  • Test modundaki satışta olan öğeler yalnızca siz veya grubunuzun üyeleri tarafından görülebilir.
  • Dışarıda satılabilmesi için, geliştirici ürünlerinizin bir küçük resme sahip olması gerekir.
  • Oyun dışındaki satışlar için aşağıdakileri satmamalısınız:
    • Ücretli rastgele öğeler
    • Belirli miktar, zaman, yer veya kullanıcı ayarları ve rolleri ile sınırlı öğeler

Geliştirici ürünü satın alımını işleme

Bir kullanıcı bir geliştirici ürünü satın aldıktan sonra, işlemi yönetmeli ve kaydetmelisiniz. Bunu yapmak için, ServerScriptService içinde bir Script kullanarak ProcessReceipt fonksiyonunu uygulayın.

ProcessReceipt API'si ve uygulaması hakkında daha fazla bilgi için ProcessReceipt sayfasına bakın.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Örnek: ürün kimliği 123123 kullanıcıyı tam sağlığa geri döndürür
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Başarılı bir satın alımı gösterir
return true
end
end
-- Örnek: ürün kimliği 456456 kullanıcıya 100 altın madeni verir
productFunctions[456456] = function(receipt, player)
local leaderstats = player:FindFirstChild("leaderstats")
local gold = leaderstats and leaderstats:FindFirstChild("Gold")
if gold then
gold.Value += 100
return true
end
end
local function processReceipt(receiptInfo)
local userId = receiptInfo.PlayerId
local productId = receiptInfo.ProductId
local player = Players:GetPlayerByUserId(userId)
if player then
-- Geliştirici ürün kimliği ile ilişkili işleyici fonksiyonunu alır ve çalıştırmayı dener
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Kullanıcı öğelerini aldı
-- İşlemi onaylamak için "PurchaseGranted" döndürür
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Makbuzu işleme hatası:", receiptInfo, result)
end
end
-- Kullanıcının öğeleri verilemedi
-- "NotProcessedYet" döndürür ve kullanıcının oyuna katıldığında tekrar dener
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Geri çağrıyı ayarlar
-- Bu yalnızca bir sunucu tarafı scripti tarafından bir kez yapılabilir
MarketplaceService.ProcessReceipt = processReceipt

Oyun içi mağazanızı kişiselleştirin

Kullanıcılara geliştirici ürünlerini sıralamak ve önermek için ürün zekası API'lerini kullanabilirsiniz. Oyun içi mağazanızı kişiselleştirmek, her kullanıcıya en alakalı öğeleri sunmaya yardımcı olur, etkileşimi ve geliri artırır. Geliştirici ürünlerini kullanıcı tercihlerine göre uyarlayarak, keşiflerini iyileştirebilir, dönüşüm oranlarını artırabilir ve yeni gelir fırsatlarını açabilirsiniz.

Geliştirici ürünlerini satış için sıralama

RankProductsAsync, bir ürün kimliği listesi alır ve bu ürünlerin kişiselleştirilmiş sıralı bir listesini döndürür. Bu yöntemi, kullanıcılarınıza oyun içi mağazanızda kişiselleştirilmiş ürün önerileri sunmak için kullanabilirsiniz.

Örnek: Kullanıcı için sıralanan üç "Güç" ürünü
Kullanıcı için sıralanan üç ürün.
local MarketplaceService = game:GetService("MarketplaceService")
-- Sıralamak istediğiniz ürünlerin bir dizisini oluşturun
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- Hataları yönetmek için korumalı bir çağrı yapın
local success, rankedProducts = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
error("Ürünleri sıralama hatası")
end
-- Döndürülen öğeleri mağazaya yükleyin
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Ürünleri mağazaya ekleme mantığı
end

En iyi geliştirici ürünlerinizi gösterin

RecommendTopProductsAsync, bir dizi InfoType değeri alır ve bir kullanıcının en çok etkileşimde bulunması ve satın alması muhtemel 50 öğeye kadar döndürür. Bu yöntemi, oyun içi mağazanızda "En İyi Seçimler" bölümü oluşturmak için kullanabilirsiniz.

Eğer öneriler belirlenemezse, RecommendTopProductsAsync 0 öğe döndürür.

Nadir durumlarda, sıralama modeline yapılan çağrılar yavaş olabilir. Kullanıcılar için eklenmiş gecikmeleri önlemek adına, RecommendTopProducts çağrısını engellemeyen hale getirmek için task.spawn kullanmanızı öneririz.

Örnek: Oyun içi mağazada "En İyi Seçimler" sekmesi
Oyun içi mağazanın En İyi Seçimler sekmesi.
local MarketplaceService = game:GetService("MarketplaceService")
-- Önerilere dahil etmek istediğiniz ürün türlerinin bir dizisini oluşturun -- Bu örnek hem geçişleri hem de geliştirici ürünlerini içerir
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- Hataları yönetmek için korumalı bir çağrı yapın
local success, topRankedItems = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
error("Ürünleri sıralama hatası")
end
-- Döndürülen öğeleri mağazaya yükleyin
-- Kullanıcının artık satın alamayacağı geliştirici ürünleri gibi uygun olmayan öğeleri topRankedItems'ten filtrelediğinizden emin olun
for i, rankedItem in ipairs(topRankedItems) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Ürünleri mağazaya ekleme mantığı
end

Geliştirici ürünü analitiği

Geliştirici ürünü analitiğini kullanarak bireysel ürünlerin başarısını analiz edebilir, trendleri belirleyebilir ve potansiyel gelecekteki kazançları tahmin edebilirsiniz.

Analitik ile şunları yapabilirsiniz:

  • Seçilen bir zaman diliminde en iyi geliştirici ürünlerinizi görüntüleyin.
  • Genel satışları ve net geliri analiz etmek için zaman serisi grafiğinde en çok satan sekiz öğeyi sergileyin.
  • Kataloğunuzu izleyin ve öğeleri satış ve net gelire göre sıralayın.

Geliştirici ürünü analitiğine erişmek için:

  1. Yaratımlar sayfasına gidin ve bir oyun seçin.
  2. Monetizasyon ⟩ Geliştirici Ürünleri sekmesine gidin.
  3. Analitik sekmesini seçin.
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.