Notifiche di esperienza

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Le notifiche di esperienza sono un modo per utenti opt-in di età 13+ per tenere il passo con le loro esperienze preferite attraverso notifiche tempestive e personalizzate.Come sviluppatore, puoi determinare quale tipo di attività in-experience è più importante per avvisare i tuoi utenti, nonché definire il contenuto della notifica.

Example notification
Example notification

Il sistema di notifica dell'esperienza presenta quanto Seguendo:

  • Notifiche personalizzabili con parametri — Completa flessibilità di personalizzare il messaggio di notifica con i parametri, ad esempio:

    Your gold goose egg has hatched!

    Allie @LaterSk8er1 just beat your record on the Tokyo Tour track!

  • Dati di lancio — Includi dati di lancio opzionali che possono essere letti attraverso quando il destinatario della notifica si unisce.Questo potrebbe implicare la routing di un utente a una posizione coordinata o personalizzare la loro esperienza di join.

  • Supporto analitico — Traccia il tuo pubblico raggiungibile e le prestazioni delle tue notifiche nella Dashboard del creatore.

Requisiti di idoneità

Per utilizzare le API per inviare notifiche, l'esperienza deve soddisfare i seguenti criteri di base:

  • Minimo 100 visite dal Lanciare.
  • L'esperienza non deve essere sotto moderazione.
  • Devi essere tu come sviluppatore a avere il permesso di gestire l'esperienza.

Linee guida sull'uso

Le notifiche dovrebbero essere personalizzate al ricevitore e dovrebbero essere basate sull'attività in-experience che è specificamente rilevante per l'utente.Inversamente, le notifiche non dovrebbero essere di natura generica e pubblicitaria.

Idealmente, le notifiche dovrebbero anche avvisare gli utenti di qualcosa su cui possono agire immediatamente .Evita le notifiche puramente informative che non richiedono una risposta o un'azione diretta.

Tutto il contenuto delle notifiche e i comportamenti sono soggetti ai Standard della comunità di Roblox e al filtraggio del testo a livello di piattaforma, indipendentemente dalle linee guida sull'età della tua esperienza.Questo significa che se la tua esperienza è un'esperienza di 17+, le tue notifiche sono ancora soggette agli standard a livello di piattaforma, non le 17+ Policy Standards .

Il contenuto della notifica non è non consentito di incorporare modelli oscuri o altre tattiche che manipolino o ingannino gli utenti a prendere decisioni che non intendono, o che potrebbero essere contrari ai loro migliori interessi.Questo potrebbe includere quanto Seguendo:

  • Annunci travestiti — Notifiche che sono intenzionalmente travestite come contenuto organico, ma in realtà sono pubblicità.Ad esempio, supponiamo che fare clic sulla seguente notifica porti a Petz World ma non venga visualizzata alcuna "importante informazione".

  • Azioni a tempo pressurizzato — Notifiche che pressurizzano gli utenti a fare clic, sottoscrivere, acconsentire o acquistare tramite l'applicazione di una pressione temporale falsa.

  • Bait-and-Switch con oggetti gratuiti o altre ricompense — Notifiche che dicono falsamente agli utenti che riceveranno qualcosa gratuitamente quando non lo è.Ad esempio, dopo aver cliccato sulla seguente notifica, diventa chiaro che è necessario qualcosa di ulteriore per ottenere il regalo.

  • Fingere agli utenti di acquistare — Notifiche che ingannano gli utenti a fare acquisti non intenzionali.Ad esempio, supponiamo che fare clic sulla seguente notifica conduca direttamente a un sistema di acquisto pre‑caricato con oggetti che l'utente non ha scelto di comprare.

Le esperienze non dovrebbero non richiedere agli utenti di attivare le notifiche per partecipare o avanzare nel Partita.

Implementazione

L'implementazione delle notifiche di esperienza inizia con creare una stringa di notifica e includere il pacchetto nel tuo progetto.Una volta che questi sono configurati, puoi inviare notifiche con parametri personalizzati opzionali .

In alternativa, puoi utilizzare l'Open Cloud API per attivare le notifiche attraverso richieste API a forma libera.

Crea una Stringadi notifica

Come con Prompt di invito del giocatore, devi creare e modificare le tue stringhe di notifica nella Dashboard del creatore. Non esiste una Stringadi notifica dell'esperienza predefinita, quindi questo passo è richiesto.

  1. Naviga alla Dashboard del Creatore.

  2. Simile a distintivi, le corde di notifica sono legate a una esperienza specifica . Trova la miniatura di quell'esperienza e cliccala.

  3. Nella colonna di sinistra, sotto Impegno , clicca Notifiche .

  4. Nella regione centrale, fai clic sul pulsante Crea una stringa di notifica .

  5. Inserisci un nome identificatore (visibile solo a te) e la Stringadi notifica personalizzata; questo è limitato a 99 caratteri e può includere parametri personalizzati illimitati .Le notifiche utilizzeranno automaticamente il titolo della tua esperienza come titolo della notifica, ma puoi utilizzare inoltre experienceName per fare riferimento alla tua esperienza nel testo del corpo della notifica.

    Esempi di stringhe di notifica:

    You're {numQuests} quests away from completing the weekly challenge!

    Your {eggName} hatched! Come meet your new pet.

    You won {numRaces} races this week and unlocked the {racetrackName} track!

    {userId-friend} just beat your record on the Tokyo Tour track! Time for revenge?

  6. Quando sei pronto, fai clic sul pulsante Crea stringa di notifica .

  7. Sulla pagina delle notifiche, nella tabella delle notifiche, fai clic sul pulsante nella colonna Azioni e seleziona Copia ID risorsa .

  8. Usa l'ID copiato per il valore della chiave nella tabella come dimostrato nell'esempio di script >.

Includi il pacchetto

Per implementare le notifiche di esperienza, devi ottenere il pacchetto Luau dal Creator Store.

  1. Dalla scheda Visualizza, apri la Toolbox e seleziona la scheda Creator Store .

    Toolbox toggle button in Studio
  2. Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutti per Categorie .

  3. Individua e fai clic sul riquadro Moduli di sviluppo .

  4. Individua il modulo Apri cloud e cliccalo, o trascinalo nella vista 3D.

  5. Nella finestra Explorer, sposta l'intero modello OpenCloud nel ServerScriptService .

Invia una Notifichedi esperienza

Una volta che hai creato una stringa di notifica e incluso il pacchetto nel tuo progetto, puoi inviare notifiche dagli script lato server.Le notifiche verranno consegnate a utenti opt-in di età 13+ attraverso il loro Flussodi notifica Roblox, a quel punto possono unirsi all'esperienza direttamente tramite il pulsante Join sulla notifica e spawnare secondo i tuoi dati di lancio .

Notifications stream on the Roblox app

Per inviare una notifica di base a un utente specifico, includi l'ID risorsa della stringa di notifica nell' campo del carico utile, quindi chiama la funzione createUserNotification con i dati di richiesta del Destinatarioe i dati di richiesta.

Invia una Notifichedi esperienza

local ServerScriptService = game:GetService("ServerScriptService")
local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)
local recipientPlayerID = 505306092
-- Nel payload, "messageId" è il valore dell'ID risorsa di notifica
local userNotification = {
payload = {
messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",
type = "MOMENT"
}
}
local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)
if result.statusCode ~= 200 then
print(result.statusCode)
print(result.error.code)
print(result.error.message)
end

Personalizza le notifiche utilizzando i parametri

Per personalizzare la notifica per ciascun Destinatario, puoi includere parametri nella stringa di notifica, quindi personalizza i parametri quando chiami l'API.Ad esempio, puoi definire la stringa di notifica come:

{userId-friend} beat your high score by {points} points! Time to level up?

Quindi, imposta i parametri userId-friend e points nel script:

Personalizza la notifica utilizzando i parametri

local ServerScriptService = game:GetService("ServerScriptService")
local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)
local recipientPlayerID = 505306092
local userIdFriendParam = {int64Value = 3702832553}
local pointsParam = {stringValue = "5"}
-- Nel payload, "messageId" è il valore dell'ID risorsa di notifica
-- In questo esempio, la stringa di notifica è "{userId-friend} batte il tuo punteggio record di {points} punti! È ora di salire di livello?"
local userNotification = {
payload = {
messageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1",
type = "MOMENT",
parameters = {
["userId-friend"] = userIdFriendParam,
["points"] = pointsParam
}
}
}
local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)
if result.statusCode ~= 200 then
print(result.statusCode)
print(result.error.code)
print(result.error.message)
end

Invita gli utenti a abilitare le notifiche

Per incoraggiare gli utenti a abilitare le notifiche per la tua esperienza, puoi visualizzare una richiesta di autorizzazione in-experience per gli utenti di età 13+ utilizzando il metodo ExperienceNotificationService:PromptOptIn().

The in-experience permission prompt encourages users to enable notifications

Puoi attivare la richiesta in qualsiasi contesto adatto all'interno della tua esperienza che garantisca una Notifichefutura.Il testo della richiesta non è personalizzabile e viene standardizzato in tutte le esperienze.

La modalità non apparirà se l'utente:

  • Ha meno di 13 anni.
  • Ha già abilitato le notifiche per la tua esperienza.
  • Ha già visto il prompt di autorizzazione per la tua esperienza negli ultimi 30 giorni.

Per richiedere agli utenti di abilitare le notifiche, devi prima determinare se l'utente è idoneo.Una volta confermato, puoi visualizzare la richiesta di autorizzazione all'utente.

  1. Chiama ExperienceNotificationService:CanPromptOptInAsync() , avvolto in un pcall() poiché è una chiamata di rete asincrona che può occasionalmente fallire.
  2. Se l'utente può essere richiesto, chiama ExperienceNotificationService:PromptOptIn() .
Script locale - Implementazione del prompt di autorizzazione alla notifica

local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
-- Funzione per verificare se al giocatore può essere richiesto di abilitare le notifiche
local function canPromptOptIn()
local success, canPrompt = pcall(function()
return ExperienceNotificationService:CanPromptOptInAsync()
end)
return success and canPrompt
end
local canPrompt = canPromptOptIn()
if canPrompt then
local success, errorMessage = pcall(function()
ExperienceNotificationService:PromptOptIn()
end)
end
-- Ascolta l'evento di richiesta di opt-in chiuso
ExperienceNotificationService.OptInPromptClosed:Connect(function()
print("Opt-in prompt closed")
end)

Include dati di lancio e analitici

Per migliorare ulteriormente l'esperienza utente, puoi includere dati di lancio nella Notifiche, utili per scenari come la routing degli utenti in una posizione coordinata o la personalizzazione dell'esperienza di join.Inoltre, puoi includere analitica dati per segmentare le prestazioni di diverse categorie di notifiche.Si prega anche di fare riferimento all'esempio Inviti di giocatori su come impostare e utilizzare i dati di lancio.

Includi dati di lancio e dati analitici

local ServerScriptService = game:GetService("ServerScriptService")
local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)
local recipientPlayerID = 505306092
-- Nel payload, "messageId" è il valore dell'ID risorsa di notifica
local userNotification = {
payload = {
messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",
type = "MOMENT",
joinExperience = {
launchData = "Test_Launch_Data"
},
analyticsData = {
category = "Test_Analytics_Category"
}
}
}
local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)
if result.statusCode ~= 200 then
print(result.statusCode)
print(result.error.code)
print(result.error.message)
end

Sistema di consegna

Esiste un sistema di prevenzione dello spam per garantire la qualità delle notifiche per gli utenti e proteggere il canale di notifica condiviso per tutti gli sviluppatori.A causa di ciò, la consegna di notifiche non è garantita.Questo sistema di prevenzione dello spam è direttamente informato dall'Coinvolgimento/Impregnodell'utente: più utenti interagiscono con le tue notifiche, più raggiungimento riceveranno.Puoi tracciare in modo trasparente le metriche di coinvolgimento nella dashboard analitica, come spiegato qui sotto.

Le notifiche di esperienza hanno un limite di accelerazione statico; ogni utente può ricevere una notifica al giorno da una determinata esperienza, e ricevi feedback trasparenti quando il limite di accelerazione di un utente viene raggiunto.

Inoltre, la seguente lista illustra alcuni dei casi speciali che possono causare non consegna di una Notifiche:

  • Non sono soddisfatti i requisiti di idoneibilità alla esperienza.
  • Il destinatario non ha optato per le notifiche dalla tua esperienza.
  • Il limite di accelerazione del destinatario per la tua esperienza è stato raggiunto.
  • Il limite di velocità giornaliera aggregata del destinatario è stato raggiunto.
  • Parametri di richiesta mancanti o non validi.
  • La stringa di notifica è stata moderata.
  • Per le notifiche con menzioni dell'utente, il mancato rispetto si verifica se una di queste condizioni è soddisfatta:
    • Il ricevitore e l'utente menzionato non sono amici.
    • L'utente menzionato ha No selezionato per "Aggiorna gli amici sulla mia attività?" sotto PrivacyAltre impostazioni nelle impostazioni del loro account Roblox.

Analitica

Le prestazioni delle tue notifiche e dell'audience notificabile vengono visualizzate nella scheda Analitica della pagina Notifiche in cui configuri le stringhe di notifica (semplicemente tab da Creazioni a Analitica ).

  1. Simile a distintivi, le corde di notifica sono legate a una esperienza specifica . Trova la miniatura di quell'esperienza e cliccala.
  2. Nella colonna di sinistra, sotto Impegno , clicca Notifiche .
  3. Sulla pagina target, fai clic sulla scheda Analitica per passare alla dashboard analitica.

Sommario delle notifiche

La sezione riassuntiva serve come uno snapshot della performance aggregata delle tue notifiche.Un minimo di 100 impressioni aggregate è richiesto per visualizzare le Statistichesulle prestazioni.

StatisticaDescrizione
Utenti opt-in Il numero totale di utenti che hanno attivato le notifiche per la tua esperienza.Si prega di notare che questo include gli utenti sotto l'età di 13 anni che sono in grado di ricevere solo la notifica di aggiornamenti dell'esperienza, non personalizzata notifiche dell'esperienza.
Impressioni Il numero totale di impressioni utente che tutte le tue notifiche hanno ricevuto in aggregato.
Clicchi Il numero totale di clic che tutte le tue notifiche hanno ricevuto in aggregato.
CTR (tassa dei clic) Il tasso in cui gli utenti fanno clic sulle tue notifiche, calcolato come la percentuale di clic su impressioni.
Disattiva Il tasso al quale gli utenti stanno disattivando le notifiche per la tua esperienza direttamente dalle tue notifiche, calcolato come la percentuale di disattivazione delle azioni rispetto alle impressioni.
Rifiuta Il tasso in cui gli utenti stanno ignorando le tue notifiche, calcolato come la percentuale di azioni di rifiuto rispetto alle impressioni.

Statistiche dettagliate

La tabella Notifiche di esperienza mostra statistiche di performance dettagliate per ciascuna notifica con almeno 100 impressioni, ordinate per data di prima impressione per quella notifica.

La colonna Nome è l'identificatore chiave per la Notifiche.Per impostazione predefinita, il nome corrisponde al nome dell'identificatore che hai specificato quando crei la stringa di notifica , ma puoi annullarlo attraverso il campo category nella tua chiamata API, in tal caso category sostituisce il nome.Cambiare il nome della stringa nella Dashboard del creatore o cambiare la stringa che fa riferimento all'ID del messaggio nella chiamata API genererà una nuova riga nella tabella.

Se vuoi testare A/B le prestazioni di diverse stringhe, ti consigliamo di creare una nuova notifica completamente nuova con un nome simile, ad esempio:

  • EggHatchA — "Il tuo uovo d'oro è schiudi! Incontra il tuo nuovo animale domestico."
  • EggHatchB — "È tempo di schiudere! Come incontrare il tuo nuovo animale domestico."

Riferimento API

Functioni

creaNotificaUtente

createUserNotification ( userId : numero , userNotification : UserNotification) : UserNotificationResult

Invia una notifica da uno script lato server.Richiede il Player.UserId del Destinatarioe una Notifica utente.Restituisce un risultato di notifica utente.

Invia una Notifichedi esperienza

local ServerScriptService = game:GetService("ServerScriptService")
local OCUserNotification = require(ServerScriptService.OpenCloud.V2.UserNotification)
local recipientPlayerID = 505306092
-- Nel payload, "messageId" è il valore dell'ID risorsa di notifica
local userNotification = {
payload = {
messageId = "5dd7024b-68e3-ac4d-8232-4217f86ca244",
type = "MOMENT"
}
}
local result = OCUserNotification.createUserNotification(recipientPlayerID, userNotification)
if result.statusCode ~= 200 then
print(result.statusCode)
print(result.error.code)
print(result.error.message)
end

Tipi

Notifica utente

Tabella che contiene dettagli sulla notifica da inviare all'utente.Deve contenere una tabella payload con stringhe richieste messageId e type e tabelle opzionali parameters , joinExperience e analyticsData.

ChiaveTipoDescrizione
messageIdstringaUn ID che rappresenta un modello di messaggio di notifica personalizzabile che crei nella Dashboard del creatore.
typestringaIl tipo di Notifiche. Solo "MOMENT" è attualmente supportato.
parameterstavolaUn tabella di parametri utilizzata per rendere un modello di messaggio di notifica. Vedi Personalizza le notifiche utilizzando i parametri per l'uso esempio.
joinExperiencetavolaUna chiamata all'azione che rappresenta il join di un'esperienza.Attualmente supporta una coppia chiave-valore launchData che rappresenta dati arbitrari disponibili a un'esperienza quando un utente si unisce all'esperienza dalla Notifiche; questo valore è limitato a un massimo di 200 bytes.Vedi Includi dati di lancio e analitica ad esempio per l'uso.
analyticsDatatavolaDati su come vengono riportati gli analitici.Attualmente supporta una coppia chiave-valore category che rappresenta la categoria di notifica, utilizzata per raggruppare i dati di analisi.Vedi Includi dati di lancio e analitica ad esempio per l'uso.

Risultato notifica utente

Un oggetto wrapper che contiene la risposta da una Notificheinviata. Contiene i seguenti paari chiave-valore:

ChiaveTipoDescrizione
statusCodenumberoIl codice HTTP dello stato per la Richiesta.
errortavolaTabella che contiene code e message chiavi che descrivono rispettivamente il codice errore GRPC e il Messaggiodi errore.
responsetavolaTabella che contiene id e path chiavi che descrivono rispettivamente un ID UUID unico e il percorso risorsa della Notifichedell'utente, rispettivamente.