Pagamentos baseados em engajamento automáticos permitem que você ganhe Robux com base na parcela de tempo que usuários Premium participam de uma experiência, independentemente do tamanho da experiência. Esses pagamentos são adicionais aos ganhos de outros métodos monetização, tais como Passes.
Para incentivar o crescimento de assinantes Premium e aumentar seu potencial para ganhar pagamentos baseados em engajamento, você pode adicionar o Modal de Compra Premium diretamente em uma experiência.
Acessando Dados de Pagamento
Os dados de Pagamentos Premium fornecem um feedback essencial que ajuda você a compreender quais fatores levam assinantes Premium às suas experiências.
Navegue até o Painel de Criações.
Passe o mouse sobre a experiência desejada, clique no ⋯ ícone e selecione Desenvolvedor Estatísticas.
Na navegação superior, clique na aba PAGAMENTOS BASEADOS EM ENGAJAMENTO.
Pagamento Premium
O gráfico de Pagamentos baseados em engajamento rastreia os dados de pagamento com base nas seguintes métricas:
Pontuação de tempo de jogo Premium é o tempo que os assinantes Premium se engajam com sua experiência diariamente. Esta métrica pode fornecer feedback imediato a respeito do impacto de novos recursos lançados.
Robux ganhos por tempo de jogo Premium é o valor que você pode esperar ganhar pelo engajamento de assinantes Premium. Isso não é baseado no tempo diário dos assinantes Premium que gastam o seu relacionamento com a experiência; ao invés disso, essa métrica agrega o comportamento de cada usuário nos últimos 28 dias. Por isso, mesmo que haja tendências semelhantes, essa métrica não tem relação matemática direta com a Pontuação por tempo de jogo Premium.
Visitas Premium
O gráfico de Visitas Premium rastreia quantas visitas são provenientes de membros Premium. Usando o menu suspenso, escolha Porcentagem de Visitas Premium, Visitas Premium ou Visitas Totais.
Modal de Compra Premium
Uma estratégia para aumentar os pagamentos baseados no engajamento é incentivar assinaturas Premium através do modal de compra. Os jogadores podem completar a compra inteiramente dentro da experiência e receber imediatamente o status Premium e seu estipêndio inicial de Robux.
Lembre-se de que assinaturas Premium não devem ser um "requisito" para desfrutar de uma experiência. Ao implementar incentivos para membros Premium, é altamente recomendável que você siga estas boas práticas:
- Descreva honestamente e com precisão os benefícios da assinatura dentro da descrição da experiência .
- Não prometa Robux ou outras recompensas fora de experiência que você não controla.
- Não mostre o modal como um "paywall" (barreira de pagamento) quando membros não-Premium entrarem na experiência.
- Considere oferecer artigos exclusivo aos membros Premium, mas não dê a eles vantagens táticas de jogabilidade sobre os outros. como um conjunto de armas ultrapoderosas que os membros não-Premium não podem competir contra.
Verificando assinatura
Antes de escrever qualquer lógica relacionada à associação Premium ou de acionar o modal, verifique a propriedade MembershipType de um usuário para determinar se ele já é assinante.
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- Tome medidas especificamente para membros Premiumend
Ativando o Modal
Você pode acionar o Modal de Compra Premium com o método Class. MarketplaceService:PromptPremiumPurchase()|PromptPremiumPurchase(). Por exemplo, o código a seguir incentiva usuários a comprarem Premium quando o avatar deles tocar na parte em que Script está, como um teletransporte de acesso apenas para membros Premium.
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)
-- Teleport character to exclusive area
local function teleportPlayer(player)
-- Request streaming around target location
player:RequestStreamAroundAsync(TELEPORT_POSITION)
-- Teleport character
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(TELEPORT_POSITION))
end
end
-- Detect character parts touching teleporter
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
-- User has Premium; teleport character to exclusive area within experience
teleportPlayer(player)
else
-- Show purchase modal, using debounce to show once every few seconds at most
if not showModal then return end
showModal = false
task.delay(5, function()
showModal = true
end)
MarketplaceService:PromptPremiumPurchase(player)
end
end)
-- Detect character parts exiting teleporter
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)
-- Handle membership changed event
Players.PlayerMembershipChanged:Connect(function(player)
warn("User membership changed; new membership is " .. tostring(player.MembershipType))
-- Teleport character if membership type is Premium and character is on teleporter
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)