Otomatik katılım bazlı ödemeler, oyunun boyutundan bağımsız olarak, Premium üyelerin bir oyunda harcadığı zaman dilimine dayanarak Robux kazanmanızı sağlar. Bu ödemeler, diğer monetizasyon yöntemlerinden olan Geçmişler ile elde edilen kazançların üzerine eklenir.
Premium abone sayısını artırmak ve katılım bazlı ödemeler kazanma potansiyelinizi yükseltmek için, oyunun içine doğrudan Premium Satın Alma Modali ekleyebilirsiniz. Bazı ülkelerdeki kullanıcıların Premium aboneliklere erişemeyebileceğini unutmayın.
Ödeme verilerine erişim
Ödeme verileri, Premium aboneleri oyununuz ile nasıl etkileşime girdiğini anlamanıza yardımcı olacak hayati geri bildirim sağlayabilir.
Ödeme verilerine erişmek için:
- Yaratıcı Kontrol Paneli'ndeki Yaratımlar sayfanıza gidin ve oyununuzu seçin.
- Monetizasyon sekmesine gidin ve Katılım Ödemeleri'ni seçin.
Katılım ödemeleri
Katılım Bazlı Ödemeler grafikleri, aşağıdaki metriklere dayalı ödeme verilerini takip eder:
Premium Oyun Süresi Robux Kazanç: Premium abone katılımı için bekleyebileceğiniz kazanım miktarıdır. Bu, Premium abonelerin oyunda geçirdiği günlük süredeki davranışlarına dayanmaz; bunun yerine, bu metrik son 28 gün boyunca her kullanıcının davranışlarını toplar. Bu nedenle, benzer eğilimlere sahip olsalar da, bu metrik Premium Oyun Süresi Puanı ile doğrudan bir matematiksel ilişkiye sahip değildir.
Premium Oyun Süresi Puanı: Premium abonelerin günde oyunda geçirdiği zaman. Bu metrik, yayınladığınız yeni özelliklerin etkisi hakkında anlık geri bildirim sağlayabilir.
Premium Ziyaretler: Premium üyelerden gelen ziyaret sayısı.

Premium satın alma modali
Katılım bazlı ödemeleri artırma stratejilerinden biri, satın alma modali aracılığıyla Premium yükseltme teşvik etmektir. Oyuncular, satın almayı tamamen oyun içinde gerçekleştirebilir ve anında hem Premium statüsünü hem de başlangıç Robux stipendlerini alabilirler.

Premium üyeliğinin bir oyunu keyifle oynamak için bir "gereklilik" olmaması gerektiğini unutmayın. Premium üyeler için teşvikler uygularken, bu en iyi uygulama önerilerine uymanız şiddetle tavsiye edilir:
- Yükseltmenin avantajlarını oyunun açıklamasında dürüst ve doğru bir şekilde belirtin.
- Kontrol edemediğiniz Robux veya diğer oyun dışı ödülleri vaat etmeyin.
- Premium olmayan üyelerin oyuna girdiğinde, modali bir "ödeme duvarı" olarak göstermeyin.
- Premium üyeler için özel ürünler sunmayı düşünün, ancak diğerlerine karşı taktiksel bir üstünlük sağlamayın, örneğin, Premium olmayan üyelerin rekabet edemeyeceği ultra güçlü silahlar sunmayın.
Üyeliği kontrol et
Premium üyelikle ilgili herhangi bir mantık yazmadan veya modali tetiklemekte, bir kullanıcının MembershipType özelliğini kontrol edin ve zaten abone olup olmadığını belirleyin.
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- Sadece Premium üyeler için belirli bir eylem gerçekleştirinend
Modali tetikle
Satın alma modali, PromptPremiumPurchase() yöntemi ile tetiklenebilir. Örneğin, aşağıdaki kod, karakterin, içeriğe bağlı Script'in bağlı olduğu parçayı dokunduğunda kullanıcıları Premium satın almaya yönlendirir; bu, özel bir alana erişim sağlayan bir teleporter olabilir.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local teleporter = script.Parent
local showModal = true
local TELEPORT_POSITION = Vector3.new(1200, 200, 60)
-- Karakteri özel alana ışınla
local function teleportPlayer(player)
-- Hedef konum etrafında akış isteği
player:RequestStreamAroundAsync(TELEPORT_POSITION)
-- Karakteri ışınla
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(TELEPORT_POSITION))
end
end
-- Karakter parçalarının teleportere dokunmasını tespit et
teleporter.Touched:Connect(function(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent)
if not player then return end
if not player:GetAttribute("CharacterPartsTouching") then
player:SetAttribute("CharacterPartsTouching", 0)
end
player:SetAttribute("CharacterPartsTouching", player:GetAttribute("CharacterPartsTouching") + 1)
if player.MembershipType == Enum.MembershipType.Premium then
-- Kullanıcı Premium; karakteri oyunda özel alana ışınla
teleportPlayer(player)
else
-- Satın alma modalini göster, en fazla birkaç saniyede bir gösterim yapacak şekilde debounce kullanarak
if not showModal then return end
showModal = false
task.delay(5, function()
showModal = true
end)
MarketplaceService:PromptPremiumPurchase(player)
end
end)
-- Karakter parçalarının teleporterden çıkmasını tespit et
teleporter.TouchEnded:Connect(function(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent)
if player and player:GetAttribute("CharacterPartsTouching") then
player:SetAttribute("CharacterPartsTouching", player:GetAttribute("CharacterPartsTouching") - 1)
end
end)
-- Üyelik değişim olayını yönet
Players.PlayerMembershipChanged:Connect(function(player)
warn("Kullanıcı üyeliği değişti; yeni üyelik " .. tostring(player.MembershipType))
-- Eğer üyelik türü Premium ise ve karakter teleporterdeyse, karakteri ışınla
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)