Pagamentos automáticos baseados em engajamento permitem que você ganhe Robux com base na proporção de tempo que membros do Premium se envolvem em um jogo, independentemente do tamanho do jogo. Esses pagamentos são além dos ganhos obtidos por outros métodos de monetização, como Passes.
Para incentivar o crescimento de assinantes do Premium e aumentar seu potencial de ganhar pagamentos baseados em engajamento, você pode adicionar o Modal de Compra Premium diretamente em um jogo. Lembre-se de que usuários de alguns países podem não ter acesso a assinaturas Premium.
Acesse os dados de pagamento
Os dados de pagamento podem fornecer feedback vital para ajudá-lo a entender quais fatores atraem assinantes Premium para seus jogos.
Para acessar os dados de pagamento:
- Navegue até sua página de Criações no Painel do Criador e selecione seu jogo.
- Navegue até a aba Monetização e selecione Pagamentos de Engajamento.
Pagamentos de engajamento
Os gráficos de Pagamentos Baseados em Engajamento rastreiam dados de pagamento com base nas seguintes métricas:
Robux Ganhos por Tempo de Jogo Premium: O montante que você pode esperar ganhar pelo engajamento de assinantes Premium. Isso não é baseado no tempo diário que os assinantes Premium passam se envolvendo com o jogo; em vez disso, essa métrica agrega o comportamento de cada usuário nos últimos 28 dias. Assim, mesmo que eles tenham tendências semelhantes, essa métrica não tem uma relação matemática direta com a Pontuação de Tempo de Jogo Premium.
Pontuação de Tempo de Jogo Premium: A quantidade de tempo que os assinantes Premium se envolvem com o jogo 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.

Modal de compra Premium
Uma estratégia para aumentar os pagamentos baseados em engajamento é incentivar a atualização para Premium através do modal de compra. Os jogadores podem concluir a compra totalmente dentro do jogo e imediatamente receber tanto o status de Premium quanto seu estipêndio inicial de Robux.

Lembre-se de que a assinatura do Premium não deve ser um "requisito" para aproveitar um jogo. Ao implementar incentivos para membros Premium, é altamente recomendável seguir estas melhores práticas:
- Descreva de forma honesta e precisa os benefícios da atualização dentro da descrição do jogo.
- Não prometa Robux ou outras recompensas fora do jogo que você não controla.
- Não exiba o modal como uma "barreira de pagamento" quando membros não Premium entram no jogo.
- Considere oferecer mercadorias exclusivas para membros Premium, mas não lhes dê uma vantagem tática sobre os outros jogadores, como uma variedade de armas ultra-poderosas com as quais os membros não Premium não conseguem competir.
Verificar a adesão
Antes de codificar qualquer lógica relacionada à adesão Premium ou acionar o modal, verifique a propriedade MembershipType de um usuário para determinar se ele já está inscrito.
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- Execute uma ação especificamente para membros Premiumend
Acionar o modal
Você pode acionar o modal de compra com o método PromptPremiumPurchase(). Por exemplo, o seguinte código solicita que os usuários comprem Premium quando seu personagem toca na parte à qual seu Script está anexado, como um teletransportador que permite acesso a uma área exclusiva.
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)
-- Teleportar o personagem para a área exclusiva
local function teleportPlayer(player)
-- Solicitar streaming ao redor da localização alvo
player:RequestStreamAroundAsync(TELEPORT_POSITION)
-- Teletransportar 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 partes do 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
-- O usuário tem Premium; teleportar personagem para área exclusiva dentro do jogo
teleportPlayer(player)
else
-- Mostrar modal de compra, usando debounce para mostrar uma vez a cada poucos 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 partes do 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)
-- Manipular evento de mudança de adesão
Players.PlayerMembershipChanged:Connect(function(player)
warn("Mudança de adesão do usuário; nova adesão é " .. tostring(player.MembershipType))
-- Teleportar personagem se o tipo de adesão for Premium e o personagem estiver no teletransportador
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)