Subscrições

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Subscrições dentro de experiências permitem que você ofereça aos usuários benefícios recorrentes por uma taxa mensal.Semelhante a passes, a principal diferença entre subscrições e passes é que os benefícios de um passe são concedidos em perpetuidade, enquanto os benefícios de uma subscrição são condicionais ao pagamento de uma taxa mensal pelo usuário.As assinaturas no Roblox têm as seguintes características:

  • Renovação automática: Assinaturas são renováveis automaticamente, não compras únicas, e são preçadas em moeda local.
  • pagamentoem Robux: Você recebe receita de assinatura em Robux. Para mais detalhes, veja Ganhe com assinaturas.
  • Nível único: Todas as subscrições dentro de uma experiência podem ser possuídas por usuários simultaneamente.Subscrições mutuamente exclusivas não são suportadas.

Os usuários podem comprar assinaturas no aplicativo de desktop ou no site usando crédito do cartão-presente Roblox ou um cartão presentede crédito ou débito e através de métodos de pagamento nas lojas da Apple e Google em regiões qualificadas.Os usuários podem ver e gerenciar suas compras de assinatura na aba Assinaturas em suas configurações de conta Roblox.

Subscrições serão distribuídas a mais regiões no futuro. Regiões indisponíveis incluem: Argentina, Colômbia, Índia, Indonésia, Japão, Rússia, Taiwan, Turquia (Turquia), Emirados Árabes Unidos, Ucrânia e Vietnã.

Diretrizes de assinatura

Antes de criar suas assinaturas, garanta que elas estejam alinhadas com Termos de Uso do Roblox e cumpram as leis locais.Qualquer experiência que envolva golpes, tente enganar os usuários com ofertas falsas ou de outra forma viole nossos Padrões da Comunidade, será desativada.Além disso, garanta que suas assinaturas respeitem as seguintes diretrizes:

  • Forneça opções de assinatura limpare distintas: Use nomes curtos, sucintos e autoexplicativos que diferenciam as opções de assinatura umas das outras.Especifique o preço e o prazo para cada opção ao fazer merchandising na experiência.
  • Ofereça os mesmos benefícios em todas as plataformas e dispositivos: Independentemente de onde a assinatura foi comprada, garanta que o usuário receba os mesmos benefícios para qualquer plano de assinatura dado.
  • Subscrições de design para se encaixarem umas nas outras e ofertas de experiência geral: A segmentação da mesma suíte de benefícios, como oferecer "Bronze", "Prata" e "Ouro" níveis que são mutuamente exclusivos, não está disponível no momento.Garanta que as assinaturas representem conjuntos distintos de benefícios.
  • Ofereça os benefícios pelo período total da assinatura: Uma vez que uma oferta de assinatura esteja publicado/ao vivo, honre os benefícios descritos e não revogue os benefícios por trás das cenas.
  • Não direcione os usuários para comprar em outra plataforma (por exemplomóvel, web, etc.) na experiência: Enquanto você é livre para se comunicar com usuários fora da plataforma, usando o aplicativo Roblox para direcionar usuários para comprar em outro lugar é proibido.
  • Não limite os benefícios de assinatura por meio de requisitos adicionais uma vez que o usuário tenha pago: Requerer que um usuário execute tarefas adicionais, como postar em mídias sociais, para obter acesso a benefícios que ele pagou é proibido.Essa diretriz não afeta passes de batalha, que você pode criar e comercializar como uma comprarpor assinatura.

Criar subscrições

Antes de poder criar uma assinatura, você deve estar telefone ou ID verificado. Para criar uma assinatura:

  1. Navegue até sua experiência no Painel do Criador e selecione Produtos de Monetização > Assinaturas .Então clique em Criar uma Subscrição .

  2. Carregue uma imagem de capa para a sua assinatura. A imagem é visível para os outros após a moderação.

  3. Crie um nome de assinatura único Nome da Assinatura .Não há duas subscrições dentro de uma experiência que possam partilhar o mesmo nome.Este nome de assinatura aparece ao lado de uma versão encurtada do nome da sua experiência nas declarações de cobrança.Os caracteres permitidos são a-z, A-Z, 0-9, espaços e .,:/!?@#&' .

  4. Escreva uma Descrição de sua assinatura.É isso que os usuários veem ao decidir comprar sua assinatura.Sua descrição deve descrever claramente quais benefícios as ofertas de assinatura oferecem.Descrições são limitadas a 1.000 caracteres e suportam emojis.Uma vez que você ativa uma assinatura, não pode reduzir seus benefícios.

  5. Selecione o tipo de assinatura Tipo de Produto . Existem três tipos de produto:

    1. Durável: Itens permanentes que persistem após o uso ou aquisição, como itens físicos como armas.Se uma assinatura incluir um conjunto de diferentes tipos de mercadorias, com um ou mais deles duráveis, como um pacote de valor com uma espada e uma poção, escolha Durável como seu digitarde produto.
    2. Consumível: Itens temporários recompráveis após o uso ou aquisição, como poções consumíveis que concedem aumentos temporários que expiram ao longo do tempo.
    3. Moeda: Qualquer meio de troca que os usuários possam usar para comprar itens dentro de sua experiência.
  6. Selecione o Preço da sua assinatura (em USD).Você ganha Robux com base no preço da web.Os assinantes de aplicativos móveis são cobrados de um preço mais alto.Os assinantes são cobrados em sua moeda local.

  7. A Recorrência de Cadência é com que frequência o usuário é cobrado pela assinatura.Atualmente, esse valor é sempre mensal / mensalmente.Clique em Criar Subscrição .

  8. Revise os detalhes e clique em Criar .

Ativar subscrições

Uma vez que uma assinatura está pronta para entrar em promoção, clique em no canto superior direito da janela da assinatura e selecione Ativar .Assinaturas ativadas estão disponíveis para venda na página Detalhes da Experiência e dentro da própria experiência.

Antes de ativar sua assinatura pela primeira vez, você deve confirmar uma versão encurtada do nome da sua experiência.Este nome de experiência encurtado é exibido ao usuário quando eles se inscrevem, aparecendo ao lado do nome de subscrição que você criou em Criar subscrições.Também é visível gerenciar assinaturas no Roblox e nas Configurações da Loja de Aplicativos.

Editar subscrições

Você pode ter até 50 subscrições por experiência entre subscrições ativas e inativas.Para editar subscrições, navegue até a sua experiência no Painel do Criador e selecione Produtos de Monetização > Subscrições .

Você pode editar a imagem, a descrição ou o estado de uma assinatura.Se você quiser editar mais do que essas propriedades, precisa excluir e recriar as assinaturas com as alterações desejadas.

Mudar imagem

Para atualizar a imagem de uma assinatura:

  1. Com a assinatura selecionada, clique no botão Mudar .

  2. Escolha uma nova imagem e clique em Salvar , em seguida Salvar Alterações . A nova imagem vai ao ar depois de passar com sucesso pela moderação.

Alterar descrição

Para alterar a descrição de uma assinatura:

  1. Com a assinatura selecionada, clique no campo Descrição .
  2. Edite a descrição, então clique em Salvar Alterações . As descrições são limitadas a 1.000 caracteres e podem suportar emojis.
  3. Confirme as alterações clicando em Sim, Confirme na janela de confirmação. As atualizações de descrição são refletidas imediatamente.

Mudar o estado

As assinaturas têm dois estados possíveis:

  • Ativo — Subscrições ativas estão disponíveis à promoção/venda, com subscritores capazes de renovar a sua subscrição no início do próximo período.
  • Inativas — Subscrições inativas não estão disponíveis à promoção/venda.

Para alterar o estado de uma assinatura:

  1. Na página de Subscrições, clique em no canto superior direito do tijoloda subscrição.Seja Ativar ou Tirar da Venda displays, dependendo do estado atual da assinatura, junto com algumas outras opções.
  2. Selecione Ativar ou Tirar da Venda para virar o estado da assinatura.
    1. Se você selecionar Retirar da Venda , você receberá a opção de permitir que os assinantes existentes renovarou cancelem renovações futuras para assinantes atuais.Em geral, é aconselhável permitir que os assinantes existentes se renovem a menos que você esteja planejando remover permanentemente os benefícios de assinatura associados de sua experiência.

Integre subscrições em uma experiência

Este exemplo de código é um simples exemplo de como implementar detecção de subscrição em sua experiência:


-- Execute este código no servidor
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Substitua com o ID da sua assinatura
local function grantAward(player: Player)
-- Você deve conceder o prêmio associado à assinatura aqui
end
local function revokeAwardIfGranted(player: Player)
-- Este método é chamado para cada jogador que não tem assinatura _not_
-- Se o seu código salvar subscrições em armazenamentos de dados ou fornecer algum benefício que precisa ser "revogado"
-- você deve usar esse método para lidar com a revogação
end
local function checkSubStatus(player)
local success, response = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
warn(`Error while checking if player has subscription: {response}`)
return
end
if response.IsSubscribed then
grantAward(player)
else
revokeAwardIfGranted(player)
end
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubStatus(player)
end
end
Players.PlayerAdded:Connect(checkSubStatus)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)

Substituir um passe de jogo por uma assinatura

Uma opção para implantar assinaturas em sua experiência é substituir um Passe de Jogo existente por uma assinatura.Esta é uma ótima opção se você quiser implementar rapidamente assinaturas em sua experiência sem adicionar novos recursos ou prêmios.

Há duas considerações importantes ao substituir um Passe de Jogo por uma assinatura:

  • Qualquer titular existente do Passe de Jogo deve continuar a receber o benefício que pagou.
  • O Passe de Jogo deve ser retirado da venda para que novos usuários possam comprar a assinatura em vez disso.
  • Assinaturas podem ser revogadas, o que significa que, se o seu Passe de Jogo anteriormente persistiu seus benefícios em um lojade dados, você precisa "desfazer" esses benefícios.Essa consideração não se aplica a todas as implementações do Passe de Jogo, mas pode se aplicar a mais complexas.

O seguinte exemplo de código mostra como substituir um Passe de Jogo por uma assinatura:


-- Execute este código no servidor
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Substituir com o ID do passe de jogo sendo substituído por uma assinatura
local SUBSCRIPTION_ID = "EXP-11111111" -- Substitua com o ID da sua assinatura
local function awardBenefit(player: Player)
-- Você deve conceder a assinatura aqui
end
local function revokeBenefitIfGranted(player: Player)
-- Este método é chamado para cada jogador que não tem assinatura _not_
-- Se o seu código salvar subscrições em armazenamentos de dados ou fornecer algum benefício que precisa ser "revogado"
-- você deve usar esse método para lidar com a revogação
end
local function checkSubscriptionStatus(player: Player)
local success, result = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
if result.IsSubscribed then
awardBenefit(player)
else
revokeBenefitIfGranted(player)
end
end
local function onPlayerAdded(player: Player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, LEGACY_GAME_PASS_ID)
end)
if not success then
print(`Error fetching game pass status: {result}`)
return
end
if result then
-- Se o jogador comprou o passe de jogo legado, não precisamos procurar o status de assinatura deles
-- pois têm o benefício concedido para toda a vida
awardBenefit(player)
return
end
checkSubscriptionStatus(player)
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubscriptionStatus(player)
end
end
local function onPromptGamePassPurchaseFinished(player: Player, purchasedPassID: number, purchaseSuccess: boolean)
if purchaseSuccess and purchasedPassID == LEGACY_GAME_PASS_ID then
awardBenefit(player)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
-- Vamos continuar a ouvir as compras de passes de jogo no jogo caso o passe ainda esteja em promoção/venda
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)

Compras de assinatura rápidas

Embora os usuários possam comprar assinaturas diretamente da página Detalhes do Jogo de uma experiência, você também deve adicionar uma maneira de comprar uma assinatura no jogo.

Quando você solicita uma comprarde assinatura, Players.UserSubscriptionStatusChanged dispara se o jogador já possui a assinatura, o que ajuda a capturar cenários em que um jogador compra uma assinatura na página Detalhes do Jogo enquanto já está no jogo.

Embora você possa solicitar uma compra de assinatura do cliente, verificar se um usuário já tem uma assinatura via MarketplaceService.GetUserSubscriptionStatusAsync deve ser feito do servidor.

Este exemplo cria um RemoteFunction que o cliente pode usar para solicitar o status de uma assinatura:


--Este código deve ser executado no servidor
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Crie uma função remota que o cliente possa usar para solicitar o status da assinatura
local getSubscriptionStatusRemote = Instance.new("RemoteFunction")
getSubscriptionStatusRemote.Name = "GetSubscriptionStatus"
getSubscriptionStatusRemote.Parent = ReplicatedStorage
getSubscriptionStatusRemote.OnServerInvoke = function(player: Player, subscriptionId: string)
assert(typeof(subscriptionId) == "string")
return MarketplaceService:GetUserSubscriptionStatusAsync(player, subscriptionId)
end

-- Este código deve ser executado no cliente
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Substitua com o ID da sua assinatura
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Substitua com o seu botão
local function playerHasSubscription()
-- Observe se sua assinatura está substituindo um passe de jogo, você precisará verificar se o passe de jogo também é possuído aqui
local success, result = pcall(function()
return getSubscriptionStatusRemote:InvokeServer(SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
return result.IsSubscribed
end
-- Esconde o botão se o jogador já tiver a assinatura
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Pode demorar um tempo para a assinatura ser registrada, então verificaremos se a compra ocorreu em 10 segundos
-- e esconder o botão se ele tiver
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Se o jogador já tem a assinatura, não queremos mostrar o botão de todas / todos
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Se o jogador já tem a assinatura, esconda o botão
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)

Outras funções relevantes

Outras funções relevantes estão disponíveis em MarketplaceService :

Ganhe com assinaturas

As assinaturas são preçadas em moeda local, mas você ganha Robux em uma taxa de US$ 0,01 a 1 Robux de acordo com o preço da plataforma base que você selecionou para a assinatura após as taxas da plataforma.O Roblox cobra uma taxa de plataforma de 30% apenas no primeiro mês, o que significa que você recebe os ganhos de assinatura completos a partir do segundo mês em diante.Essa divisão de receita é consistente em todas as plataformas.

Por exemplo, se um usuário se inscrever no preço base de US$ 9,99 (Área de trabalho) ou US$ 12,99 (móvel):

  • Primeiro mês: O criador da assinatura recebe 999 * .7 = 699 (Área de trabalho) ou 1299 * .7 = 909 (móvel).
  • Segundo mês em diante: O criador da assinatura recebe 999 = 999 (Área de trabalho) ou 1299 = 1299 (móvel).

As receitas estão sujeitas a retenções de 30 dias e serão adicionadas ao seu saldo Robux após o término completo da assinatura ter sido entregue.Se um usuário solicitar um reembolso por uma assinatura através do banco ou da loja de aplicativos no período de espera de um mês, o período de espera será cancelado e você não receberá o pagamento por essa transação.

Reembolsos recebidos fora da janela de espera resultarão no valor de pagamento da transação reembolsada sendo deduzido do seu saldo de Robux.Se a sua experiência for de propriedade de um Grupo e o saldo do Grupo for menor do que a quantia a ser deduzida, o restante será deduzido do saldo de Robux do proprietário do Grupo.

Os usuários que cancelam uma assinatura ativa e não conseguem renová-la não resultam automaticamente em um reembolsar.O usuário tem que solicitar manualmente reembolsos, que são tratados em uma base de caso a caso.Para mais informações sobre o processo de reembolso de assinatura do usuário, consulte o central de ajuda.

Pagamentos de assinatura

Pagamentos são encontrados em Balance de Robux > Minhas Transações: :

Subscrições e Subscrição de Grupo pagamentos aparecem sob Entrante Robux, enquanto os reembolsos são agrupados sob Saída Robux como uma Reversão de Pagamento .As páginas de subscrições e subscrições de grupo fornecem informações adicionais para as respetivas categorias.

Para ver informações de reembolso de usuários individuais, use MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .

Dados analíticosde subscrição

Análise de assinatura ajuda você a avaliar o sucesso de assinaturas individuais, identificar tendências e prever potenciais ganhos futuros.As assinaturas são adicionadas à página de análise de assinaturas após a primeira vez que são ativadas e não são removidas quando são desativadas ou excluídas.Você pode acessar análises prontas através do Painel do Criador, ou pode capturar atualizações de assinatura em tempo real usando webhooks.

Através do Painel do Criador

Para acessar a análise de subscrição no Painel do Criador:

  1. Navegue até sua página Criações no Painel do Criador e selecione sua experiência.

  2. Navegue até a aba Monetização e selecione Subscrições .

A análise de subscrição rastreia as seguintes métricas:

  • Subscrições: A quantidade total de subscrições ativas na sua experiência.
  • Renda estimada: A receita líquida ganha por experiências após as taxas. Não inclui informações de reembolso.
  • Quebra de assinante: Os diferentes tipos de assinantes.
    • Novo : O número de compras de subscrição por subscritores pela primeira vez.
    • Renovado : O número de renovações de assinaturas comprados em um período anterior.
    • Ressuscitado : O número de novas subscrições adquiridas por usuários que previamente cancelaram.
  • Cancelamentos : O número de assinaturas que não foram renovadas.Isso inclui todas as cancelações, independentemente do gatilho, seja a cancelação do usuário, desativação de assinatura pelo criador ou por outros meios.
    • Cancelamentos são diferentes de reembolsos.Subscrições canceladas são subscrições que não se renovarão mais, mas serão pagas em total para o resto do ciclo de cobrança, enquanto os reembolsos retornam a quantia paga da subscrição ao usuário.
  • Subscrições por plataforma : O número de subscrições comprados em cada plataforma.
  • Ganhos da plataforma : A receita líquida ganha através de subscrições compradas em cada plataforma.

Essas informações são visíveis na forma de gráficos baseados em um período de data sob a aba Tendências , e como uma lista abrangente de subscrições totais oferecidas sob a aba Histórico .

Através de webhooks

O recurso Webhook da API da Nuvem inclui gatilhos para quatro eventos de assinatura: cancelados, comprados, reembolsados e renovados.Essas notificações são disparadas imediatamente, então você pode responder em tempo real ou criar sua própria Dados analíticos.Para mais informações sobre como configurar um webhook, veja Notificações de webhook.