Além dos métodos comuns de promoção para aumentar sua base de jogadores, você pode implementar prompts de convite diretamente dentro de sua experiência, encorajando os jogadores a convidar seus amigos e aumentar o jogabilidadeco-experiência.
O sistema de solicitação de convite possui os seguindorecursos:
- Convidados dinâmicos — Convide jogadores a convidar vários amigos de uma lista de seleção ou convide um amizadeespecífico.
- Dados de lançamento — Inclua dados de lançamento opcionais que podem ser lidos através de quando o amigo convidado se juntar.Exemplos de casos de uso incluem encaminhar amigos convidados para uma localização de coordenadas ou personalizar a experiência de adesão para o convidado.
- Texto Personalizável — Personalize a mensagem convite rápido e a mensagem notificação.Por exemplo, um prompt de convite para o jogador pode ler "Peça a seus amigos para se juntarem à aventura!" e a mensagem de notificação para o amizadeconvidado(s) pode ler "displayName quer que você se junte à aventura deles em experienceName!".
Você também pode rastrear e recompensar convidados e convidados usando o Sistema de Recompensa de Convite de Amigo.

Definir opções de convite
Por padrão, um prompt de convite para o jogador mostra um menu de seus amigos com Convidar botões.Para personalizar a mensagem de solicitação, alvo de um amizadeespecífico ou incluir dados de lançamento no convite, você precisará configurar um objeto ExperienceInviteOptions com as propriedades desejadas.
Propriedade | Tipo | Descrição |
---|---|---|
PromptMessage | string / cadeia / texto | Texto personalizado mostrado no prompt de convite para o jogador enviador, por exemplo "Peça a seus amigos para se juntarem à aventura!" para um prompt de convite multi-amigo, ou "Convide esse amigo para se juntar à aventura!" para um prompt de convite específico de amigo.Observe que se a sua mensagem de convite personalizada for longa o suficiente para exceder os limites da interface do usuário, ela não será exibida. |
InviteUser | número | Roblox UserId do amigo específico para convidar; se não for fornecido, o jogador será solicitado a escolher de uma lista de amigos. |
InviteMessageId | string / cadeia / texto | ID de recurso que se mapa a um digitarde recurso de Notificação .Este recurso é usado para armazenar/localizar uma string personalizada para a notificação de convite que os amigos recebem.Veja Opções de notificação de configuração para detalhes. |
LaunchData | string / cadeia / texto | Usado para definir um parâmetro em Player:GetJoinData() quando um amigo se junta à notificaçõesde convite.Maximo de 200 caracteres.Veja Incluir dados de lançamento para um exemplo de uso. |
LocalScript - Convide vários amigos
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construir opções de convite com uma mensagem de prompt personalizadalocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Definir opções de notificação
Por padrão, a notificação de convite que os amigos recebem contém o nome do remetente DisplayName, o nome de usuárioe o nome da experiência.Para personalizar a mensagem, você pode criar um recurso Notificação na aba Painel do Criador e incluir seu ID de recurso como um parâmetro de ExperienceInviteOptions.
Navegue até o Painel do Criador.
Semelhante a insígnias, as cordas de notificação estão ligadas a uma experiência específica . Localize a miniatura dessa experiência e clique nela.
Na coluna da esquerda, sob Engajamento , clique em Notificações .
Na região central, clique no botão Criar uma string de notificação .
Preencha um nome de identificador (apenas visível para você) e o texto de notificação personalizado.Observe que você deve incluir experienceName como um espaço reservado para identificar o nome da experiência para amigos convidados, e você pode opcionalmente incluir o nome do remetente DisplayName através do espaço reservado displayName .
Exemplos de strings de notificação:
- displayName quer que você se junte à aventura deles em experienceName!
- displayName acabou de limpar o sexto estágio de experienceName. Você pode?
Quando estiver pronto, clique no botão Criar String de Notificação .
Na página de notificações, na tabela de notificações, clique no botão ⋯ na coluna Ações e selecione Copiar ID de recurso .
No objeto para o prompt de convite, cole o ID do recurso como o valor da propriedade .
LocalScript - Convide vários amigoslocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construir opções de convite com o ID de usuário do amizadelocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Convide um convite
Para solicitar um convite, você deve primeiro determinar se o jogador pode enviar um convite, pois a capacidade pode variar dependendo da plataforma ou do jogador.Uma vez confirmado, você pode exibir o prompt de convite para o jogador.
- Chame SocialService:CanSendGameInviteAsync() , embalado em um pcall() pois é uma chamada de rede assíncrona que pode ocasionalmente falhar.
- Se a capacidade de convite for confirmada, chame SocialService:PromptGameInvite() com o objeto opcional de opções de convite como o segundo argumento.
Uma vez solicitado, o jogador verá um prompt na tela para convidar vários amigos ou o amigo específico definido no objeto opções de convite.Quando o jogador então clica no botão Convidar para um ou mais amigos, esses amigos receberão uma notificação contendo o endereço de e-mail, o nome de usuário e o nome da experiência do remetente.Notificações podem ser personalizadas ainda mais como descrito em Definir opções de notificação .
LocalScript - Convide vários amigos
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Função para verificar se o jogador pode enviar um convite
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 dados de lançamento
Para melhorar ainda mais a cooperação na experiência ou incentivar convites de jogadores, você pode incluir dados de lançamento em um prompt de convite, útil para cenários como encaminhar amigos convidados para uma localização de coordenadas ou personalizar a experiência de entrada para o convidado.
Quando solicitar um convite, inclua um objeto ExperienceInviteOptions com dados relevantes que serão usados quando o amigo se juntar à experiência, por exemplo, o remetente de Player.UserId , o ID de um distintivo para conceder ao amigo ao se juntar, ou uma localização de coordenadas para gerar o amigo.Se você precisar compilar várias peças de dados, encodar os dados usando JSONEncode() .
LocalScript - Convide vários 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 opções de convite com dados de lançamentolocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Função para verificar se o jogador pode enviar um convitelocal 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 amigos que chegam via notificações, verifique os dados de lançamento no lado do servidor através de Player:GetJoinData() .Se você encodar vários pedaços de dados em JSON para o prompt de convite, lembre-se de decodificá-los com JSONDecode() .
Script - Usando Dados de Lançamento de Convitelocal 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)Se os dados de lançamento existirem, você pode usá-los para uma ampla variedade de cenários de design, incluindo:
- Gere o amigo recebido no início de um desafiante curso de obstáculos que o remetente acabou de concluir, com base em uma localização coordenada passada pelos dados de lançamento.
- Verifique se o remetente está no local, com base em seu Player.UserId na data de lançamento, e teletransporte o personagem do amizadeperto de seu personagem.