Pagamentos automáticos baseados em engajamento baseados em compartilhamento de tempo que os membros Premium participam em uma experiência, independentemente do tamanho da experiência. Esses pagamentos estão em adição aos ganhos de outros métodos de monetização, como Passes.
Para incentivar o crescimento de subscritores Premium e aumentar seu potencial de ganhar pagamentos baseados em engajamento, você pode adicionar o Modal de Compra Premium diretamente em uma experiência. Tenha em mente que os usuários de alguns países podem não ter acesso a subscrições Premium.
Acessando Dados do Pago
Dados de pagamento podem fornecer feedback vital para ajudá-lo a entender quais fatores geram subscritores Premium às suas experiências.
Para acessar dados de pagamento:
Navegue até sua página Criações no Painel do Criador e selecione sua experiência.
Navegue até a Monetização aba e selecione Saídas de Engajamento .
Pagamentos de Engajamento
As Engagement-Based Payouts gráficos rastreiam dados de pagamento com base nas seguintes métricas:
Robux de Tempo de Jogo Premium Ganho: A quantidade que você pode esperar ganhar por assinante Premium. Isso não é baseado no tempo gasto por assinantes Premium em engajar com a experiência; em vez disso, essa métrica agrega o comportamento de cada usuário nos últimos 28 dias. Como tal, mesmo que eles tenham tendências semelhantes, essa métrica não tem relação matemática direta com a pontuação de Tempo de Jogo
Pontuação de Tempo de Jogo Premium: A quantidade de tempo que os subscritores Premium engajam com a experiência por dia. Essa métrica pode fornecer feedback imediato sobre o impacto de novos recursos que você lança.
Visitas Premium: Quantas visitas são de membros Premium.
Modo de Compra Premium
Uma estratégia para aumentar os pagamentos baseados em engajamento é encorajar upgrade Premium através do modal de compra. Os jogadores podem completar a compra totalmente dentro da experiência e imediatamente receber tanto o status Premium quanto seu primeiro stipend de Robux.
Lembre-se de que a assinatura Premium não deve ser um "requisito" para desfrutar de uma experiência. Ao implementar incentivos para membros Premium, é altamente recomendável que você siga essas melhores práticas:
- Descreva honestamente e exatamente os benefícios de atualizar dentro da descrição da experiência.
- Não prometa Robux ou outras recompensas de fora da experiência que você não controla.
- Não mostre a janela modal como um "paywall" quando membros não Premium entram na experiência.
- Considere oferecer mercadoria exclusiva aos membros Premium, mas não os dê uma vantagem de jogo tática sobre os outros, como uma série de armas ultra-poderosas que membros não Premium não podem competir.
Verificando Assinatura
Antes de criar qualquer lógica relacionada à assinatura premium ou desencadeando o modal, verifique a propriedade de um usuário MembershipType para determinar se eles já estão inscritos.
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- Take some action specifically for membros Premiumend
Desencadeando o Modal
Você pode acionar o modo de compilação com o método PromptPremiumPurchase(). Por exemplo, o seguinte código solicita que os usuários comprem Premium quando seu personagem toca a parte que seu personagem contém Script . Por exemplo, o seguinte código solicita que os usuários comprem Premium quando seu personagem toca a parte que seu personagem contém
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)
-- Teleporte o personagem para a área exclusiva
local function teleportPlayer(player)
-- Solicitar streaming em torno da localização do alvo
player:RequestStreamAroundAsync(TELEPORT_POSITION)
-- Teleportar personagem
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(TELEPORT_POSITION))
end
end
-- Detectar peças de personagem tocando o teletransportador
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
-- Usuário tem Premium; teleportar personagem para área exclusiva dentro da experiência
teleportPlayer(player)
else
-- Mostrar janela de compra, usando debounce para mostrar uma vez a cada alguns segundos no máximo
if not showModal then return end
showModal = false
task.delay(5, function()
showModal = true
end)
MarketplaceService:PromptPremiumPurchase(player)
end
end)
-- Detectar peças de personagem saindo do teletransportador
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)
-- Gerenciador de eventos de assinatura alterado
Players.PlayerMembershipChanged:Connect(function(player)
warn("User membership changed; new membership is " .. tostring(player.MembershipType))
-- Teleporte o personagem se o tipo de assinatura for Premium e o personagem estiver no teletransportador
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)