Además de los métodos comunes de promoción para aumentar tu base de jugadores, puedes implementar invitaciones de invitación directamente dentro de tu experiencia, alentando a los jugadores a invitar a sus amigos y aumentar el juego de co-experiencia.
El sistema de invitación rápida presenta lo siguiendo:
- Invitados dinámicos — Invita a los jugadores a invitar a múltiples amigos de una lista de selección, o invita a un amistadespecífico.
- Datos de lanzamiento — Incluya datos de lanzamiento opcionales que se pueden leer a través de cuando se una el amigo invitado.Los casos de uso de ejemplo incluyen enrutar a amigos invitados a una ubicación de coordinación o personalizar la experiencia de unión para el invitado.
- Texto personalizable — Personaliza el mensaje de invitación y el mensaje de notificación.Por ejemplo, una invitación para el jugador puede leer "¡Pide a tus amigos que se unan a la aventura!" y el mensaje de notificación para el amistadinvitado(s) puede leer "displayName quiere que te unas a su aventura en experienceName!".
También puedes rastrear y recompensar a los invitados y a los invitados usando el Sistema de recompensa de invitación de amigos.

Establecer opciones de invitación
Por defecto, un mensaje de invitación para el jugador muestra un menú de sus amigos con botones Invitar .Para personalizar el mensaje de solicitud, apuntar a un amistadespecífico o incluir datos de lanzamiento en la invitación, necesitarás configurar un objeto ExperienceInviteOptions con las propiedades deseadas.
Propiedad | Tipo | Descripción |
---|---|---|
PromptMessage | cadena | Texto personalizado mostrado en la invitación para el jugador remitente, por ejemplo, "Pídele a tus amigos que se unan a la aventura!" para una invitación de amigo múltiple, o "Invita a este amigo a unirse a la aventura!" para una invitación de amigo específica.Tenga en cuenta que si el mensaje de invitación personalizado es lo suficientemente largo como para superar los límites de la interfaz de usuario, no se mostrará. |
InviteUser | número | Roblox UserId del amigo específico para invitar; si no se proporciona, al jugador se le solicitará que elija de una lista de amigos. |
InviteMessageId | cadena | ID de activo que se mapea a un introducirde activo de notificación .Este recurso se usa para almacenar/localizar una cadena personalizada para la notificación de invitación que reciben los amigos.Vea Opciones de notificación de configuración para detalles. |
LaunchData | cadena | Se usa para establecer un parámetro en Player:GetJoinData() cuando un amigo se une desde la notificacionesde invitación.Máximo de 200 caracteres.Vea Incluir datos de lanzamiento para un ejemplo de uso. |
LocalScript - Invitar a múltiples amigos
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construir opciones de invitación con un mensaje de confirmación personalizadolocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Establecer opciones de notificación
Por defecto, la notificación de invitación que reciben los amigos contiene el nombre del remitente DisplayName, el nombre de usuario y el nombre de la experiencia.Para personalizar el mensaje, puedes crear un recurso Notificación en el tablero de Creador y incluir su ID de recurso como un parámetro de ExperienceInviteOptions .
Navegue hasta el Panel del creador.
Al igual que insignias, las cadenas de notificación están vinculadas a una experiencia específica . Busca la miniatura de esa experiencia y haz clic en ella.
En la columna de la izquierda, debajo de Participación , haga clic en Notificaciones .
En la región central, haga clic en el botón Crear una cadena de notificación .
Rellena un nombre de identificador (solo visible para ti) y el texto de notificación personalizado.Tenga en cuenta que debe incluir experienceName como marcador de posición para identificar el nombre de la experiencia para los amigos invitados, y puede incluir opcionalmente el nombre del remitente DisplayName a través del marcador de posición displayName .
Ejemplos de cadenas de notificación:
- displayName quiere que te unas a su aventura en experienceName!
- displayName acaba de superar la sexta etapa de experienceName. ¿Puedes?
Cuando esté listo, haga clic en el botón Crear cadena de notificación .
En la página de notificaciones, en la tabla de notificaciones, haz clic en el botón ⋯ en la columna Acciones y selecciona Copiar ID de activo .
En el objeto ExperienceInviteOptions para el mensaje de invitación, pega el ID del recurso como valor de la propiedad InviteMessageId.
LocalScript - Invitar a múltiples amigoslocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construir opciones de invitación con el ID de usuario de amistadlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Invitar a una solicitud
Para solicitar una invitación, primero debe determinar si el jugador puede enviar una invitación, ya que la capacidad puede variar dependiendo de la plataforma o el jugador.Una vez confirmado, puedes mostrar la invitación al jugador.
- Llama SocialService:CanSendGameInviteAsync() , envuelta en un pcall() ya que es una llamada de red asincrónica que puede fallar ocasionalmente.
- Si la capacidad de invitación se confirma, llama SocialService:PromptGameInvite() con el objeto opcional de opciones de invitación como segundo argumento
Una vez solicitado, el jugador verá una solicitud en la pantalla para invitar a múltiples amigos, o al amigo específico definido en el objeto de opciones de invitación .Cuando el jugador luego hace clic en el botón Invitar para uno o más amigos, esos amigos recibirán una notificación que contenga el nombre del remitente , el nombre de usuario y el nombre de la experiencia.Las notificaciones se pueden personalizar aún más como se describe en Establecer opciones de notificación.
LocalScript - Invitar a múltiples amigos
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Función para comprobar si el jugador puede enviar una invitación
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end
Incluir datos de lanzamiento
Para mejorar aún más la cooperación en la experiencia o para incentivar las invitaciones de jugadores, puedes incluir datos de lanzamiento en una solicitud de invitación, útil para escenarios como enrutar a amigos invitados a una ubicación de coordenadas o personalizar la experiencia de unión para el invitado.
Cuando solicite una invitación , incluya un objeto con datos relevantes que se usarán cuando el amigo se una a la experiencia, por ejemplo, el remitente , el ID de una insignia para otorgar al amigo al unirse, o una ubicación coordinada para generar el amigo.Si necesitas compilar múltiples piezas de datos, enciende los datos usando JSONEncode() .
LocalScript - Invitar a múltiples amigoslocal HttpService = game:GetService("HttpService")local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal data = {senderUserID = player.UserId,spawnLocation = {12, 48, 205.5}}local launchData = HttpService:JSONEncode(data)-- Construir opciones de invitación con datos de lanzamientolocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Función para comprobar si el jugador puede enviar una invitaciónlocal function canSendGameInvite(sendingPlayer)local success, canSend = pcall(function()return SocialService:CanSendGameInviteAsync(sendingPlayer)end)return success and canSendendlocal canInvite = canSendGameInvite(player)if canInvite thenSocialService:PromptGameInvite(player, inviteOptions)endPara los amigos entrantes que se unan a través de la notificaciones, compruebe los datos de lanzamiento en el lado del servidor a través de Player:GetJoinData() .Si enciende varias piezas de datos en JSON para el mensaje de invitación, recuerde decodificarlas con JSONDecode() .
Script - Usando datos de lanzamiento de invitaciónlocal HttpService = game:GetService("HttpService")local Players = game:GetService("Players")local ATTEMPT_LIMIT = 10local RETRY_DELAY = 1local function onPlayerAdded(player)local launchDatafor _ = 1, ATTEMPT_LIMIT dotask.wait(RETRY_DELAY)local joinData = player:GetJoinData()if joinData.LaunchData ~= "" thenlaunchData = joinData.LaunchDatabreakendendif launchData thenlocal data = HttpService:JSONDecode(launchData)print(data.senderUserID)print(data.spawnLocation)elsewarn("No launch data received!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)Si los datos de lanzamiento existen, puedes usarlos para una gran variedad de escenarios de diseño, incluyendo:
- Genera al amigo entrante al comienzo de un desafiante curso de obstáculos que el remitente acaba de completar, basado en una ubicación de coordenadas pasada a través de los datos de lanzamiento.
- Comprueba si el remitente está en el lugar, basado en su Player.UserId en los datos de lanzamiento, y teletransporta el personaje del amistadcerca de su personaje.