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ışındaki önemli detayları içermediğinden ve .jpg, .png veya .bmp formatında olduğundan emin olun.
  5. Ürün için bir isim ve açıklama girin.
  6. Ürün için bir kategori seçin. Kategori, oyun içi Mağazanızda öğ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ü oyunun içinde uygulamak ve satmak için MarketplaceService fonksiyonlarını çağırın.

GetProductInfo fonksiyonunu kullanarak bir geliştirici ürünü hakkında bilgi alın, örneğin isim ve fiyat, ve ardından bu ürünü kullanıcılara gösterin. Ü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 alın. 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

PromptProductPurchase fonksiyonunu kullanarak oyununuz içinde ürün satın alma işlemlerini başlatın. Bu fonksiyonu, bir kullanıcı bir butona basarken veya bir satıcı NPC ile konuşurken ç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 işlemini başlatmak 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 alma işlemini başlatır
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ünlerini oyununuzun dışında satın alabilmek için ProcessReceipt API'si ile çalışmalısınız. Bir kullanıcı, oyununuzun detaylar sayfasındaki Mağaza sekmesinde bir satın alma yaptığında, ProcessReceipt fonksiyonunu kullanarak satın almasını onaylamalı ve oyununuzda girdiğinde öğelerini vermelisiniz.

Dış satışları etkinleştirme

Roblox, Listelenmiş geliştirici ürünlerinizi ve oyun geçişlerinizi oyununuzun dışında, Roblox ana sayfasında, arama sonuçlarında ve bir oyuncu Robux satın aldıktan sonraki satın alma sayfasında gösterir. Bir oyuncu, öğenizi satın alabilir ve ardından oyununuzda zaten verilmiş olarak katılabilir.

Bir geliştirici ürününü dış satışlar için uygun hale getirmek için:

  1. Yaratıcı Merkezi'nde Monetizasyon ⟩ Mağaza sekmesine gidin.
  2. Geliştirici ürününü Listelenmiş olarak işaretleyin.
  3. Ürün için ProcessReceipt fonksiyonunu doğru bir şekilde uyguladığınızdan emin olun.

Oyun geçişleri, ProcessReceipt düzeltmesi gerektirmez, ancak dışarıda görünmek için de Listelenmiş olmalıdır. Her geliştirici ürününe oyuncuların dış yüzeylerde tanıyabilmesi için özel bir simge eklemenizi öneririz; eğer eklemezseniz, Roblox varsayılan bir simge gösterir.

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

İşaretlenmiş bir geliştirici ürününü düzeltme

Roblox, Listelenmiş geliştirici ürünlerinizden birinde ProcessReceipt sorunu tespit ederse, Yaratıcı Merkezi ⟩ Monetizasyon ⟩ Mağaza bölümünde etkilenen ürünlerin raporuna bağlantı veren bir banner görünür. Eğer geliştirici ürünlerinizin hiçbiri düzeltme gerektirmiyorsa, hiçbir banner veya rapor görünmez.

İşaretlenmiş bir geliştirici ürününü çözmek için:

  1. Banner'dan raporu açın. Rapor, düzeltme gerektiren her Listelenmiş geliştirici ürününü, ürün adı ve ürün kimliği ile birlikte listeler.
  2. Roblox Studio'da oyununuzu açın ve işaretlenmiş ürün için ProcessReceipt uygulamasını düzeltin.
  3. Oyunuzu yayınlayın.
  4. Rapor içinde düzeltme yapılan ürünleri seçin ve Düzeltildi olarak işaretle butonuna tıklayın.

Düzeltme yapılan ürünler rapordan çıkar ve tekrar oyununuzun dışında görünme uygun hale gelir.

Sınırlamalar

  • Oyun dışında satılabilmesi için bir geliştirici ürünü Listelenmiş olmalı ve ProcessReceipt doğru bir şekilde uygulanmış olmalıdır.
  • Listelenmemiş geliştirici ürünleri asla Mağaza'da veya oyununuzun dışında görünmez.
  • Bir geliştirici ürününü oyun dışında satmak, standart kazançlarınızı veya satın alma işlemlerini değiştirmez.

Sıkça Sorulan Sorular

Roblox, düzeltme gerektiren bir Listelenmiş geliştirici ürünü tespit ederse yalnızca bir banner gösterir. Eğer bir banner görmüyorsanız, herhangi bir işlem yapmanıza gerek yoktur.

Hayır. ProcessReceipt raporu yalnızca geliştirici ürünlerine uygulanır. Hem Listelenmiş geliştirici ürünleri hem de oyun geçişleri, oyununuzun dışında gösterilebilir ve satılabilir.

Hayır. Dış satışlar, oyunculara öğelerinizi bulup satın alabilecekleri ek yerler sunar. Satın alma işlemleriniz ve standart kazançlarınız değişmez.

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

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 kullanı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 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ırmaya çalışır
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 alma hatası:", receiptInfo, result)
end
end
-- Kullanıcının öğeleri verilemedi
-- "NotProcessedYet" döndürür ve kullanıcı bir sonraki 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 para kazanma 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, oyun içi mağazanızda kullanıcılara kişiselleştirilmiş ürün önerileri sağlamak için kullanabilirsiniz.

Örnek: Kullanıcı için sıralanmış üç "Güç" ürünü
Kullanıcı için sıralanmış üç ü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 öneri oluşturulamazsa, 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ş bir gecikmeyi önlemek için, 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.
  • Toplam satışları ve net geliri analiz etmek için zaman serisi grafiğinde sekiz en çok satan öğ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.