Le iscrizioni all'interno delle esperienze ti consentono di offrire agli utenti vantaggi ricorrenti per un abbonamento mensile. Come i pass, la principale differenza tra le iscrizioni e i pass è che i vantaggi di un pass sono concessi in perpetuità, mentre i vantaggi di un abbonamento sono condizionati dal pagamento di un abbonamento mensile. Le iscrizioni su Roblox hanno le seguenti caratteristiche:
- Rinnovo automatico:: I sottoscrizione rinnovo automatico, non acquisti una volta, e sono prezzi in Monetalocale.
- Robux Payout: ricevi entrate da abbonamento in Robux. Per ulteriori dettagli, vedi Guadagnare con gli abbonamenti .
- Single-Tiered: Tutte le sottoscrizioni all'interno di un'esperienza possono essere di proprietà degli utenti contemporaneamente. Le sottoscrizioni tra utenti non sono supportate.
Gli utenti possono acquistare sottoscrizioni sull'app o sul sito Web utilizzando i crediti della carta regalo Roblox o un credito o un debito carte regalo, Gift cards, e attraverso i metodi di pagamento negli Apple e Google Store nelle regioni qualificanti. Gli utenti possono visualizzare e gestire le loro acquisti di sottoscrizione nella scheda Sottoscrizioni nelle impostazioni del loro account Roblox.
Le sottoscrizioni verranno estese a più regioni in futuro. Le regioni non disponibili includono: Argentina, Colombia, India, Indonesia, Giappone, Russia, Taiwan, Türkiye (Turchia), UAE, Ukraine e Vietnam.
Linee guida per l'iscrizione
Prima di creare le tue sottoscrizioni, assicurati che corrispondano a Termini d'uso di Roblox e conformi alle leggi locali. Qualsiasi esperienza che si impegna in truffe, tenta di ingannare gli utenti con offerte false o in altro modo viola i nostri Standard della Comunità saranno rimossi. Inoltre, assicurati che le tue sottoscrizioni rispettino le seguenti linee guida:
- Fornisci opzioni di abbonamento Eliminare/Pulire, distintive e self-explanatory: Usa nomi brevi, succinti e self-explanatory che differenziano le opzioni di abbonamento l'un dall'altro.Specifica il prezzo e la durata per ciascuna opzione quando acquisti in-experience.
- Offri gli stessi benefici su piattaforme e dispositivi: Indipendentemente dal fatto che l'abbonamento sia stato acquistato su qualsiasi piattaforma o dispositivo, assicurati che l'utente riceva gli stessi benefici per qualsiasi piano di abbonamento fornito.
- Progetta le iscrizioni per adattarsi l'un l'altro e le offerte di esperienza complessiva: La distribuzione dei livelli di benefici, come l'offerta di "Bronzo", "Argento" e "Oro" che sono livelli distinti che sono esclusivi tra loro, non è attualmente disponibile. Assicurati che le iscrizioni rappresentino set distinti di benefici.
- Offri i benefici per il termine completo dell'iscrizione: Una volta che un'offerta di abbonamento è Attiva, onora i benefici descritti e non revocare i benefici dietro le quinte.
- Non inviare gli utenti a comprare su un'altra piattaforma (ad esempio, mobile, web, ecc.) in-experience: Mentre sei libero di comunicare con gli utenti off-platform, usando l'app Roblox per inviare gli utenti a comprare altrove è proibito.
- Non gateare i benefici della sottoscrizione con requisiti aggiuntivi una volta che un utente ha Pagato: Richiedere a un utente di eseguire attività aggiuntive, come il post sui social media, per ottenere l'accesso ai benefici che hanno pagato è proibito. Questa linea guida non influisce sui pass di battaglia, che puoi creare e commercializzare sia come Acquistadi abbonamento.
Creazione di abbonamenti
Prima di poter creare un abbonamento, devi essere un ID verificato . Per creare un abbonamento:
Vai alla tua esperienza nella Dashboard del Creatore e seleziona Prodotti di monetizzazione > Istruzione sottoscrizione . Quindi fai clic su 2> Crea un abbonamento2> .
Carica un'immagine di copertura per la tua iscrizione. L'immagine è visibile agli altri dopo la moderazione.
Crea un unico Nome della sottoscrizione . Non sono consentiti più abbonamenti all'interno di un'esperienza che possono condividere lo stesso nome. Questo nome di sottoscrizione appare accanto a una versione abbreviata del tuo nome dell'esperienza nelle dichiarazioni di fatturazione. I caratteri consentiti sono a-z, A-Z, 0-9, spazi e .,:/!?@#&' .
Scrivi una Descrizione della tua iscrizione. Questo è ciò che gli utenti vedono quando decidono di acquistare la tua iscrizione. La tua descrizione deve chiaramente descrivere quali sono i benefici che la tua iscrizione offre. Le descrizioni sono limitate a 1.000 caratteri e supportano emoji. Una volta attivata un'iscrizione, non puoi ridurre i suoi benefici.
Seleziona l'abbonamento Tipo di prodotto . Ci sono tre tipi di prodotto:
- Durabile: Elementi permanenti che persistono dopo l'uso o l'acquisizione, come gli oggetti fisici come le armi. Se un abbonamento include un pacchetto di diversi tipi di beni, con uno o più di essi durabili, come un pacchetto di valore con una spada e una pozione, scegli Durabile come suo inserisci / scrividi prodotto.
- Consumabili: Oggetti temporanei acquistabili nuovamente che scadono dopo l'uso o l'acquisizione, come pozioni consumabili che garantiscono potenziamenti temporanei che scadono nel tempo.
- Valuta: Qualsiasi mediazione che gli utenti possono utilizzare per acquistare oggetti all'interno della tua esperienza.
Seleziona il Prezzo della tua iscrizione (in USD). Guadagni Robux in base al prezzo web. Gli iscritti app mobile sono addebitati un prezzo più elevato. Gli iscritti sono addebitati nella loro Monetalocale.
La Cadenza Recurring è la velocità con cui l'utente viene addebitato per la sottoscrizione. Attualmente, questo valore è sempre Mensile. Fai clic su Crea Subscription .
Doppio controllo dei dettagli e clicca su Crea .
Attivare le iscrizioni
Una volta che un abbonamento è pronto per andare in vendita, fai clic su ⋯ in alto a destra della pagina dell'abbonamento e seleziona Attiva . Gli abbonamenti attivati sono disponibili per la vendita nella pagina Dettagli dell'esperienza e all'interno dell'esperienza stessa.
Prima di attivare la tua iscrizione per la prima volta, devi confermare una versione abbreviata del tuo nome dell'esperienza. Questo nome dell'esperienza abbreviato viene visualizzato all'utente quando si iscrive, mostrando accanto al nome della sottoscrizione che hai creato in Crea sottoscrizioni . È anche visibile gestire sottoscrizioni in Roblox e Impostazioni Store App.
Abbonamenti di modifica
Puoi avere fino a 50 sottoscrizioni per esperienza tra sottoscrizioni attive e inattive. Per modificare le sottoscrizioni, naviga nella tua esperienza nella Dashboard del Creatore e seleziona Prodotti di monetizzazione > Sottoscrizioni .
Puoi modificare l'immagine, la Descrizioneo lo stato di un abbonamento. Se vuoi modificare più di queste proprietà, devi eliminare e ricreare gli abbonamenti con le modifiche desiderate.
Cambiare immagine
Per aggiornare l'immagine di un abbonamento:
Con la sottoscrizione selezionata, fai clic sul pulsante Cambia .
Scegli una nuova immagine e fai clic su Salva , quindi Salva modifiche . La nuova immagine viene attivata dopo aver superato con successo la moderazione.
Cambiare la descrizione
Per cambiare la Descrizionedi un abbonamento:
- Con la sottoscrizione selezionata, fai clic sul campo Descrizione .
- Modifica la Descrizione, quindi fai clic su Salva modifiche . Le descrizioni sono coperte da 1.000 caratteri e possono supportare emoji.
- Conferma le modifiche facendo clic su Sì, conferma nella finestra di conferma. Le modifiche alle descrizioni vengono aggiornate immediatamente.
Cambiare stato
Le sottoscrizioni hanno due possibili stati:
- Attivo — Le sottoscrizioni attive sono disponibili In Vendita, con gli iscritti in grado di rinnovare la loro sottoscrizione all'inizio del prossimo periodo.
- Inattivo — I sottoscrizioni inattive non sono disponibili In Vendita.
Per cambiare lo stato di una sottoscrizione:
- On the Subscriptions page, click ⋯ at the top right corner of the subscription's Piastrella. Either Attiva or Disattiva in vendita displays, depending on the current state of the subscription, alongside some other options.
- Seleziona Attiva o Disattiva la vendita per modificare lo stato della sottoscrizione.
- Se selezioni Disdetta la vendita , sarai dato l'opzione di consentire agli abbonati esistenti di Rinnovo, o annullare future rinnovazioni per gli abbonati attuali. In Generale, è consigliato consentire agli abbonati esistenti di rinnovare a meno che tu non stia pianificando di rimuovere in modo permanente i benefici dell'abbonamento associati dalla tua esperienza.
Integrazione delle iscrizioni in un'Esperienza
Questo esempio di codice è un semplice esempio di come implementare la rilevanza delle sottoscrizioni nella tua esperienza:
-- Esegui questo codice sul Server
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Rimpiaza con il tuo ID di abbonamento
local function grantAward(player: Player)
-- Dovresti concedere il premio associato alla sottoscrizione qui
end
local function revokeAwardIfGranted(player: Player)
-- Questo metodo viene chiamato per ogni giocatore che non ha il _not_ abbonamento
-- Se il tuo codice salva le iscrizioni ai Data Store o fornisce qualche beneficio che deve essere "revocato"
-- dovresti usare questo metodo per gestire la revocazione
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)
Sostituzione di un Game Pass con un Subscription
Un'opzione per distribuire le sottoscrizioni nella tua esperienza è sostituire un Game Pass esistente con una sottoscrizione. Questa è un'ottima opzione se vuoi implementare rapidamente le sottoscrizioni nella tua esperienza senza aggiungere nuove funzionalità o premi.
Ci sono due importanti considerazioni quando si sostituisce un Game Pass con un abbonamento:
- I titolari esistenti del Game Pass dovrebbero continuare a ricevere il beneficio che hanno pagato.
- Il Game Pass dovrebbe essere rimosso dalla vendita in modo che nuovi utenti possano acquistare l'iscrizione invece.
- Le iscrizioni possono essere revocate, il che significa che se il tuo Game Pass precedentemente persistesse i suoi benefici in un Negoziodi dati, devi "annullare" questi benefici. Questa considerazione non si applica a tutte le implementazioni di Game Pass, ma potrebbe applicarsi a quelle più complesse.
Il seguente esempio di codice mostra come sostituire un Game Pass con un abbonamento:
-- Esegui questo codice sul Server
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Sostituisci con l'ID del gamepass che viene rimpiazzato da un abbonamento
local SUBSCRIPTION_ID = "EXP-11111111" -- Rimpiaza con il tuo ID di abbonamento
local function awardBenefit(player: Player)
-- Dovresti assegnare l'abbonamento qui
end
local function revokeBenefitIfGranted(player: Player)
-- Questo metodo viene chiamato per ogni giocatore che non ha il _not_ abbonamento
-- Se il tuo codice salva le iscrizioni ai Data Store o fornisce qualche beneficio che deve essere "revocato"
-- dovresti usare questo metodo per gestire la revocazione
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 il giocatore ha acquistato il Passaggi di giocodi gioco legacy, non è necessario controllare lo stato di loro Stato
-- poiché hanno il beneficio concesso per la vita
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)
-- Continueremo ad ascoltare gli acquisti di gamepass in gioco nel caso in cui il gamepass sia ancora in Vendita
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
Richiesta di acquisti di abbonamento
Although users can purchase subscriptions directly from an esperienza's Game Details page, you should also add a way to purchase a subscription in-game.
Quando richiedi un Acquista, Players.UserSubscriptionStatusChanged attiva se il giocatore possiede già l'abbonamento, il che aiuta a catturare gli scenari in cui un giocatore acquista un abbonamento dalla pagina Dettagli di gioco mentre è già in gioco.
Anche se puoi richiedere un acquisto di abbonamento dal client, controllare se un utente ha già un abbonamento tramite MarketplaceService.GetUserSubscriptionStatusAsync deve essere eseguito dal Server.
Questo esempio crea un RemoteFunction che il client può utilizzare per richiedere lo stato di un abbonamento:
--Questo codice dovrebbe essere eseguito sul Server
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Crea una RemoteFunction che il client può utilizzare per richiedere lo stato dell'Stato
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
-- Questo codice dovrebbe essere eseguito sul client
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Rimpiaza con il tuo ID di abbonamento
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Rimpiaza con il tuo pulsante
local function playerHasSubscription()
-- Nota se la tua iscrizione sta sostituendo un Passaggi di gioco, dovrai controllare se il gamepass è di proprietà qui anche
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
-- Nasconde il pulsante se il giocatore ha già l'iscrizione
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Può richiedere un po 'di tempo per registrare la sottoscrizione, quindi controlleremo per vedere se l'acquisto avviene in 10 secondi
-- e nascondere il pulsante se ha
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Se il giocatore ha già l'iscrizione, non vogliamo mostrare il pulsante in tutti/tutte
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Se il giocatore ha già la sottoscrizione, nascondi il pulsante
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)
Altre funzioni rilevanti
Altre funzioni rilevanti sono disponibili in MarketplaceService :
Guadagnare con gli abbonamenti
Le sottoscrizioni sono prese in Monetalocale, ma guadagni Robux ad una tariffa di US $0,01 a 1 Robux in base al prezzo di base della piattaforma che hai selezionato per la sottoscrizione dopo le commissioni della piattaforma. Roblox addebita una tassa di piattaforma del 30% per il primo mese solo, il che significa che ricevi l'intero guadagno delle sottoscrizioni dal secondo mese in poi. Questo diviso di entrate è coerente tra tut
Ad esempio, se un utente si iscrive al prezzo di base di $ 9,99 (Desktop) o $ 12,99 (mobile):
- Primo mese: Il creatore dell'iscrizione riceve 999 * .7 = 699 (Desktop) o 1299 * .7 = 909 (mobile).
- Secondo mese oltre: Il creatore dell'abbonamento riceve 999 = 999 (Desktop) o 1299 = 1299 (mobile).
I guadagni sono soggetti a 30 giorni di mantenimento e verranno aggiunti al tuo saldo Robux dopo il termine completo dell'iscrizione. Se un utente richiede un rimborso per un abbonamento attraverso il loro bank o app store entro il periodo di mantenimento di 30 giorni, il mantenimento verrà annullato e non riceverai il pagamento per quella transazione.
I rimborsi ricevuti al di fuori della finestra di espansione saranno rimborsati nella quantità di pagamento per la transazione rimborsata che verrà detratto dal tuo saldo Robux. Se la tua esperienza è di proprietà di un gruppo e il suo saldo è inferiore alla quantità da pagare, il resto sarà detratto dal saldo del gruppo di proprietà.
Gli utenti che annullano un abbonamento attivo e non riescono a rinnovarlo non ottengono automaticamente un rimborso. Gli utenti devono richiedere manualmente i rimborsi, che vengono gestiti in base al caso per caso. Per ulteriori informazioni sul processo di rimborso degli abbonamenti utente, fai clic sul centro di aiuto.
Ricompense della sottoscrizione
I pagamenti si trovano in Robux Balance > My Transactions :
I sottoscrizioni e I sottoscrizioni di gruppo pagamenti appaiono sotto In arrivo Robux, mentre i rimborsi sono raggruppati sotto 0> In uscita 0> Robux come 3> Inversione dei pagamenti 3> . Le sottopagine delle sottoscrizioni e dei gruppi sottoscrizioni forniscono ulteriori informazioni per le loro rispettive categorie.
Per visualizzare i rimborsi di singoli utenti, usa MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .
Analitica dell'abbonamento
analisi delle sottoscrizioni aiuta a misurare il successo delle singole sottoscrizioni, a identificare le tendenze e a prevedere potenziali guadagni futuri. Le sottoscrizioni vengono aggiunte alle pagine di analisi delle sottoscrizioni dopo la prima volta in cui vengono attivate e non vengono rimosse quando sono disattivate o eliminate. Puoi accedere alle analisi delle sottoscrizioni tramite la dashboard del creatore, o puoi catturare gli
Attraverso la dashboard del creatore
Per accedere all'analisi delle abbonamenti sulla Dashboard del Creatore:
Vai alla tua pagina Creazioni su Creator Dashboard e seleziona la tua esperienza.
Vai alla scheda Monetizzazione e seleziona Istruzioni per l'uso.
La sottoscrizione analizza le seguenti metriche:
- Istruzioni: La quantità totale di iscrizioni attive nella tua esperienza.
- Enti previsti entrate: Le enti entrate guadagnate dalle esperienze dopo le commissioni. Non include informazioni sui rimborsi.
- Breakdown dei sottoscrittori: I diversi tipi di sottoscrittori.
- Nuovo : Il numero di acquisti di abbonamenti dei nuovi sottoscrittori.
- Rinnovato : Il numero di iscrizioni rinnovate in un periodo precedente.
- Rigenerato : Il numero di nuove sottoscrizioni acquistate dagli utenti che avevano precedentemente cancellato.
- Cancellazioni : Il numero di iscrizioni che non sono state rinnovate. Ciò include tutte le cancellazioni indipendentemente dall'avvenuto di rinnovo, che siano iscrizione dell'utente, disattivare la sottoscrizione del Creatoreo in altro modo.
- Le cancellazioni sono diverse dalle rimborsi. Le sottoscrizioni annullate sono sottoscrizioni che non saranno più rinnovate ma saranno pagate interamente per il resto del ciclo di fatturazione, mentre i rimborsi restituiscono l'importo della sottoscrizione pagata all'utente.
- Istruzioni per le sottoscrizioni per piattaforma : Il numero di iscrizioni acquistate su ogni Piattaforma.
- Guadagni della piattaforma : I guadagni della piattaforma ottenuti tramite sottoscrizioni acquistate su ogni Piattaforma.
Questa informazione è visualizzata nella forma di grafici basati su una gamma di date in tendenza scheda, e come una lista completa di iscrizioni offerte sotto la scheda Storia .
attraverso Webhook
La funzione Cloud API Webhook include trigger per quattro eventi di sottoscrizione: annullato, acquistato, rimborsato e rinnovato. Questi notifiche vengono attivati immediatamente, so you can respond in real-time o create your own custom analitica. Per ulteriori informazioni su come impostare un webhook, vedi Notifiche Webhook .