Subscrições dentro das experiências permitem que você ofereça benefícios recorrentes para 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 um assinato são condicionados ao usuário pagar uma taxa mensal. As subscrições no Roblox têm as seguintes características:
- Recompensa automática:: As assinaturas são recompensas automaticamente, não compras únicas, e são preçadas em moeda local.
- Saída de Robux: Você recebe a receita de assinatura em Robux. Para mais detalhes, veja Ganhando com Subscrições.
- Single-Tiered: 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 subscrições no aplicativo do usuário ou site usando o crédito do cartão-presente Roblox ou um cartão presentede débito ou crédito, e através de métodos de pagamento nas lojas Apple e Google em regiões qualificadas. Os usuários podem visualizar e gerenciar suas compras de subscrição na aba Subscrições em suas configurações de conta Roblox.
As assinaturas serão lançadas para mais regiões no futuro. Regiões indisponíveis incluem: Argentina, Colômbia, Índia, Indonésia, Japão, Rússia, Tailândia, Turcomenistão, Ucrânia e Vietnam.
Diretrizes de Assinatura
Antes de criar suas assinaturas, certifique-se de que elas estão alinhadas com Termos de Uso do Roblox e estão em conformidade com as leis locais. Qualquer experiência que envolva fraudes, tentes de enganar usuários com ofertas falsas ou de outra forma violar nossos Padrões da Comunidade será removido. Além disso, certifique-se de que suas assinaturas seguem as seguintes diretrizes:
- Forneça opções de assinatura limpar, distintíveis e self-explanatory: Use nomes curtos, succintos e self-explanatory que diferenciam as opções de assinatura umas das outras. Especificar o preço e a duração de cada opção ao comprar na experiência.
- Ofereça os mesmos benefícios em todas as plataformas e dispositivos: Independente de onde a assinatura foi comprada, certifique-se de que o usuário receba os mesmos benefícios para qualquer plano de assinatura dado.
- Projetar subscrições para se encaixar umas nas outras e ofertas de experiência geral: A classificação de diferentes níveis de vantagens, como oferecer "Bronze", "Prata" e "Ouro" tiers que são exclusivos umas das outras, não está disponível no momento. Certifique-se de que as subscrições representem conjuntos distintos de vantagens.
- Ofereça os benefícios pelo tempo total da assinatura: Uma vez que uma oferta de assinatura estiver 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 exemplo, móvel, web, etc.) na experiência: Embora você seja livre para comunicar com usuários fora da plataforma, usando o aplicativo Roblox, direcionar os usuários para comprar em outros lugares é proibido.
- Não gate os benefícios da assinatura por requisitos adicionais uma vez que um usuário pagou: Exigir que um usuário desempenhe tarefas adicionais, como postar em mídia social, para obter acesso aos benefícios que eles pagaram é proibido. Essa diretriz não afeta os passes de batalha, que você pode criar e mercado como uma comprarde assinatura.
Criando Subscrições
Antes de poder criar uma assinatura, você deve ser um telefone ou verificado ID . Para criar uma assinatura:
Navegue até sua experiência no Painel do Criador e selecione Produtos de Monetização > Assinaturas > 1>Clique em4>Criar uma Assinatura4>.
Carregue uma imagem de capa para sua assinatura. A imagem é visível para outros depois da moderação.
Crie um único Nome de Subscrição . Nenhuma subscrição dentro de uma experiência pode compartilhar o mesmo nome. Este nome de subscrição aparece ao lado de uma versão abreviada do seu nome de experiência em declarações de cobai. Personagens permitidos são a-z, A-Z, 0-9, espaços e .,:/!?@#&' .
Escreva uma Descrição da sua subscrição. Isto é o que os usuários vêem ao decidir comprar a sua subscrição. A sua descrição deve descrever claramente quais são os benefícios que a sua subscrição oferece. As descrições estão limitadas a 1.000 caracteres e suportam emojis. Uma vez que você ativa uma subscrição, você não pode reduzir seus benefícios.
Selecione a assinatura Tipo de Produto . Existem três tipos de produto:
- 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 itens, 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.
- Consumível: Itens temporários recompravel que expiram após o uso ou aquisição, como poções consumíveis que concedem boosts temporários que expiram ao longo do tempo.
- Moeda: Qualquer meio de troca que os usuários possam usar para comprar itens dentro de sua experiência.
Selecione o Preço da sua assinatura (em USD). Você ganha Robux com base no preço da web. Os subscritores do aplicativo móvel são cobrados um preço mais alto. Os subscritores são cobrados em sua moeda local.
A Cadência Recorrente é a quantidade de vezes que o usuário é cobrado pelo serviço. Atualmente, esse valor é sempre mensal / mensalmente. Clique em Criar Subscrição .
Revise os detalhes e clique em Criar .
Ativando Subscrições
Uma vez que uma assinatura está pronta para ir à venda, clique em ⋯ no canto superior direito da caixa de assinaturas e selecione Ativar. Assinaturas ativadas estão disponíveis para venda na página Detalhes de Experiência e dentro da experiência.
Antes de ativar sua assinatura pela primeira vez, você deve confirmar uma versão abreviada do seu nome de experiência. Essa versão abreviada do nome de experiência é exibida para o usuário quando eles assinar/assinatura, aparecendo ao lado do nome de assinatura que você criou em Criando Assinaturas. Ele também é visível gerenciando assinaturas na Roblox e Configurações do App Store.
Editando Subscrições
Você pode ter até 50 subscritores por experiência entre subscritores ativos e inativos. Para editar subscritores, navegue até sua experiência no Painel do Criador e selecione Produtos de Monetização > Subscritos.
Você pode editar a imagem, descrição ou estado de uma assinatura. Se você quiser editar mais dessas propriedades, você precisa excluir e recriar as assinaturas com as alterações desejadas.
Mudando Imagem
Para atualizar a imagem de uma assinatura:
Com a assinatura selecionada, clique no botão Alterar .
Escolha uma nova imagem e clique em Salvar , então Salvar Alterações . A nova imagem vai ao ar depois de passar com sucesso pela moderação.
Mudando a Descrição
Para alterar a descrição de uma assinatura:
- Com a assinatura selecionada, clique no campo Descrição .
- Edite a descrição e, em seguida, clique em Salvar Alterações . As descrições têm limite de 1.000 caracteres e podem suportar emojis.
- Confirme as alterações clicando em Sim, Confirme na janela de confirmação. As atualizações de descrição são refletidas imediatamente.
Mudando de Estado
As subscrições têm dois estados possíveis:
- Ativo — Subscrições ativas estão disponíveis à promoção/venda, com subscritores capazes de renovar sua subscrição no começo do próximo período.
- Inativo — Inscrições inativas não estão disponíveis à promoção/venda.
Para alterar o estado de uma assinatura:
- Na página de Subscrições, clique em ⋯ no canto superior direito da caixa de subscrição. Seja Ativar ou Desligar Venda exibições, dependendo do estado atual da subscrição, ao lado de algumas outras opções.
- Selecione Ativar ou Desligar Venda para alterar o estado da assinatura.
- Se você selecionar Remover da Venda , você receberá a opção de permitir que os subscritores existentes renovarou cancelem renovações futuras para subscritores atuais. Em geral, é aconselhável permitir que os subscritores existentes renovem a menos que você esteja planejando remover permanentemente os benefícios de assinatura associados de sua experiência.
Integando Subscrições em uma Experiência
Este código de exemplo é um exemplo simples de como implementar a detecção de assinatura 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" -- Substituir pelo seu ID de 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 a assinatura
-- Se seu código salvar subscritores em Armazenamento de Dados ou fornecer algum benefício que precisa ser "revogado"
-- você deve usar este 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)
Substituindo um Passe de Jogo com uma Assinatura
Uma opção para rolar subscrições em sua experiência é substituir um Game Pass existente por uma subscrição. Essa é uma ótima opção se você quiser implementar rapidamente subscrições em sua experiência sem adicionar novos recursos ou recompensas.
Existem duas considerações importantes ao substituir um Passe de Jogo por uma assinatura:
- Quaisquer seguradores existentes do Game Pass devem continuar a receber o benefício que pagaram.
- O Passe de Jogo deve ser desligado da venda para que novos usuários possam comprar a assinatura em vez disso.
- As assinaturas podem ser revogadas, o que significa que se o seu Passe de Jogo persistir anteriormente seus benefícios para um lojade dados, você precisa "desfazer" esses benefícios. Essa consideração não se aplica a todas as implementações de Passe de Jogo, mas pode aplicar-se a alguns deles.
O seguinte código de exemplo 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 pelo ID do passe de jogo sendo substituído por uma assinatura
local SUBSCRIPTION_ID = "EXP-11111111" -- Substituir pelo seu ID de 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 a assinatura
-- Se seu código salvar subscritores em Armazenamento de Dados ou fornecer algum benefício que precisa ser "revogado"
-- você deve usar este 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 comprar o passe de jogo de legado, não precisamos verificar seu status de assinatura
-- como eles têm o benefício concedido pela 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)
-- Nós continuaremos a ouvir compras de passe de jogo no jogo, caso o passe ainda esteja à promoção/venda
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
Encaminhando Compras de Assinatura
Embora os usuários possam comprar subscrições diretamente na página Jogos Detalhes de uma experiência, você também deve adicionar uma maneira de comprar uma subscrição no jogo.
Quando você solicita uma comprarde assinatura, Players.UserSubscriptionStatusChanged é acionado se o jogador já possui a assinatura, o que ajuda a capturar cenários onde um jogador compra uma assinatura na página Detalhes do Jogo enquanto eles estão no jogo.
Embora você possa solicitar uma compra de assinatura do cliente, verificar se um usuário já possui 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 pode 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" -- Substituir pelo seu ID de assinatura
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Substituir 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 é possuído aqui também
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
-- O botão é oculto 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 pouco para a assinatura ser registrada, então verificaremos se a compra passou por 10 segundos
-- e ocultar o botão se ele tiver
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Se o jogador já tiver a assinatura, não vamos mostrar o botão em todos os todas / todos
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Se o jogador já tiver a assinatura, ocultar o botão
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)
Outras funções relevantes
Outras funções relevantes estão disponíveis em MarketplaceService :
Ganhando com Subscrições
As assinaturas são cobradas em moeda local, mas você ganha Robux em uma taxa de US $ 0,01 a 1 Robux, conforme o preço da plataforma selecionado para a assinatura após os impostos de plataforma. O Roblox cobra uma taxa de 30% para a primeira moeda, o que significa que você recebe o ganho total de assinatura a partir do segundo mês em diante. Este valor é 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 $ 12.99 (mobile):
- Primeiro mês: O criador da assinatura recebe 999 * .7 = 699 (Área de trabalho) ou 1299 * .7 = 909 (mobile).
- Segundo mês a partir: O criador da assinatura recebe 999 = 999 (Área de trabalho) ou 1299 = 1299 (mobile).
Ganhos estão sujeitos a retenções de 30 dias e serão adicionados ao seu saldo Robux após o término completo da assinatura. Se um usuário solicitar um reembolso de uma assinatura através de seu banco ou loja de aplicativos dentro do período de retenção de 30 dias, a retenção será cancelada e você não receberá o pagamento por essa transação.
Reembolsos recebidos fora da janela de segurança resultarão na quantia de pagamento para a transação reembolsada ser deduzida do seu saldo Robux. Se sua experiência for de propriedade de um Grupo e o saldo do Grupo for inferior à quantia a ser deduzida, o resto será deduzido do saldo do Grupo Owner's Robux.
Os usuários que cancelam uma assinatura ativa e falham em renová-la não resultam automaticamente em um reembolsar. Os usuários têm que solicitar reembolso manualmente, que é processado em uma base de caso a caso. Para mais informações sobre o processo de reembolso de assinatura do usuário, consulte o centro de ajuda.
Pagamentos de Subscrição
P pagamentos são encontrados em Robux Balance > Minhas Transações :
Subscrições e Grupo Subscrição pagamentos aparecem em Incoming Robux, enquanto os reembolsos são agrupados em 0> Outgoing 0> Robux como um 3> Payout Reversal 3> . As subplicações e subplicações de grupo fornecem informações adicionais para suas respectivas categorias.
Para ver informações de reembolso de usuários individuais, use MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .
Análise de Subscrição
Análise de assinaturas 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 elas são ativadas e não são removidas quando desativadas ou excluídas. Você pode acessar análises prontas através do Painel do Criador, ou você pode capturar atualizações de assin
Através do Painel do Criador
Para acessar a análise de assinatura na Dashboard do Criador:
Navegue até sua página Criações no Painel do Criador e selecione sua experiência.
Navegue até a aba Monetização e selecione Assinaturas.
A subscrição da Análise de Dados acompanha as seguintes métricas:
- Subscrições: A quantidade total de subscrições ativas na sua experiência.
- Estimado em Receita: A receita líquida ganha pelas experiências após as taxas. Não inclui informações de reembolso.
- Subscriber Breakdown: Os diferentes tipos de subscritores.
- Novo : O número de compras de assinatura por novos subscritores.
- Renovado : O número de renovações de subscrições adquiridas em um período anterior.
- Resurretoado : O número de novas assinaturas adquiridas por usuários que já haviam cancelado anteriormente.
- Cancelamentos : O número de subscrições que não foram renovadas. Isso inclui todos os cancelamentos, independentemente do gatilho, seja a cancelação do usuário, de subscrição desativa pelo criador ou por outros meios.
- Cancelamentos são diferentes de reembolsos. Cancelamentos de subscrições são subscrições que não serão mais renovadas, mas são pagas em total por o resto do ciclo de cobrança, enquanto reembolsos reembolsam o valor da subscrição paga ao usuário.
- Subscrições por Plataforma : O número de subscrições comprados em cada plataforma.
- Ganhos na Plataforma : A receita líquida ganha através das assinaturas adquiridas em cada plataforma.
Essas informações são visíveis na forma de gráficos com base em um conjunto de datas sob a aba Tendências e como uma lista abrangente de subscrições totais oferecidas sob a aba Histórico.
Através de WebHooks
A ferramenta Cloud API Webhook inclui gatilhos para quatro eventos de assinatura: cancelado, comprado, reembolsado e renovado. Essas notificações são disparadas imediatamente, para que você possa responder em tempo real ou criar sua própria análise de dados personalizada. Para mais informações sobre como configurar um webhook, see Notificações de Webhook.