En plus des méthodes de promotion communes pour augmenter votre base de joueurs, vous pouvez implémenter invitations d'invitation directement dans votre expérience, encourageant les joueurs à inviter leurs amis et à augmenter le partieen co-expérience.
Le système d'invitation rapide comporte les éléments suivre:
- Invités dynamiques — Invitez les joueurs à inviter plusieurs amis d'une liste de sélection ou à inviter un ami spécifique.
- Données de lancement — Inclure des données de lancement optionnelles qui peuvent être lues via lorsque l'ami invité rejoint.Les cas d'utilisation d'exemple incluent la redirection d'amis invités vers un lieu de coordonnées ou la personnalisation de l'expérience de jointure pour l'invité.
- Texte personnalisable — Personnalisez le message d'invitation et le message de notification.Par exemple, une invitation pour le joueur peut lire « Demandez à vos amis de rejoindre l'aventure ! » et le message de notification pour l'ami invité(s) peut lire « displayName veut que vous rejoigniez leur aventure dans experienceName ! ».
Vous pouvez également suivre et récompenser les invités et les invités en utilisant le système de récompense d'invitation d'ami Friend Invite Reward System.

Définir les options d'invitation
Par défaut, une invitation pour le joueur affiche un menu de leurs amis avec des boutons Inviter .Pour personnaliser le message d'invitation, cibler un ami spécifique ou inclure les données de lancement dans l'invitation, vous devrez configurer un objet ExperienceInviteOptions avec les propriétés souhaitées.
Propriété | Type | Avertissement |
---|---|---|
PromptMessage | chaîne | Texte personnalisé affiché sur l'invite de l'expéditeur pour l'envoi du joueur, par exemple « Demandez à vos amis de rejoindre l'aventure ! » pour une invite d'ami multi-ami, ou « Invitez cet ami à rejoindre l'aventure ! » pour une invite d'ami spécifique.Notez que si votre message d'invitation personnalisé est suffisamment long pour déborder les limites de l'interface utilisateur, il ne sera pas affiché. |
InviteUser | numéro | Roblox UserId de l'ami spécifique à inviter ; s'il n'est pas fourni, le joueur sera invité à choisir dans une liste d'amis. |
InviteMessageId | chaîne | ID de ressource qui se traduit par un taperde ressource notification .Cette ressource est utilisée pour stocker/localiser une chaîne personnalisée pour la notification d'invitation que reçoivent les amis.Voir Options de notification de réglage pour les détails. |
LaunchData | chaîne | Utilisé pour définir un paramètre dans Player:GetJoinData() lorsqu'un ami rejoint la notification d'invitation.Maximum de 200 caractères.Voir Inclure les données de lancement pour un exemple d'utilisation. |
LocalScript - Inviter plusieurs amis
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construire des options d'invitation avec un message de demande personnalisélocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Définir les options de notification
Par défaut, la notification d'invitation que les amis reçoivent contient le nom du DisplayName du destinataire, le nom d'utilisateur et le nom de l'expérience.Pour personnaliser le message, vous pouvez créer une ressource Notification sur le tableau de bord du créateur et inclure son ID de ressource comme paramètre de ExperienceInviteOptions .
Accédez à la tableau de bord du créateur.
Semblable à badges, les chaînes de notification sont liées à une expérience spécifique . Localisez la vignette de cette expérience et cliquez dessus.
Dans la colonne de gauche, sous Engagement , cliquez sur Notifications .
Dans la région centrale, cliquez sur le bouton Créer une chaîne de notification .
Remplissez un nom d'identifiant (visible uniquement pour vous) et le texte de notification personnalisé.Notez que vous devez inclure experienceName comme espace réservé pour identifier le nom de l'expérience pour les amis invités, et vous pouvez optionnellement inclure le nom du destinataire DisplayName à travers l'espace réservé displayName .
Exemples de chaînes de notification :
- displayName veut que vous rejoigniez leur aventure dans experienceName !
- displayName vient de terminer la sixième étape de experienceName. Pouvez-vous ?
Lorsque vous êtes prêt, cliquez sur le bouton Créer une chaîne de notification .
Sur la page des notifications, dans la table des notifications, cliquez sur le bouton ⋯ dans la colonne Actions et sélectionnez Copier l'ID de la ressource .
Dans l'objet ExperienceInviteOptions pour l'invite d'invitation, collez l'ID de la ressource comme valeur de la propriété InviteMessageId.
LocalScript - Inviter plusieurs amislocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construire des options d'invitation avec l'ID d'utilisateur d'un amilocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Invitation rapide
Pour envoyer une invitation, vous devez d'abord déterminer si le joueur peut envoyer une invitation, car la capacité peut varier en fonction de la plate-forme ou du joueur.Une fois confirmé, vous pouvez afficher l'invite d'invitation au joueur.
- Appellez SocialService:CanSendGameInviteAsync(), enveloppé dans un pcall() car c'est un appel réseau asynchrone qui peut échouer occasionnellement.
- Si la capacité d'invitation est confirmée, appelez avec l'objet d'options d'invitation facultatif comme deuxième argument.
Une fois invité, le joueur verra une invite sur écran pour inviter plusieurs amis, ou le spécifique ami défini dans l'objet d'options d'invitation invite.Lorsque le joueur clique ensuite sur le bouton Inviter pour un ou plusieurs amis, ces amis recevront une notification contenant le nom du expéditeur, le nom d'utilisateur et le nom de l'expérience.Les notifications peuvent être personnalisées davantage comme indiqué dans Définir les options de notification .
LocalScript - Inviter plusieurs amis
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Fonction pour vérifier si le joueur peut envoyer une invitation
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
Inclure les données de lancement
Pour améliorer encore la coopération en expérience ou inciter les joueurs à inviter, vous pouvez inclure données de lancement dans une invite, utile pour des scénarios tels que l'itinération d'amis invités à un lieu coordonné ou la personnalisation de l'expérience de jointure pour le destinataire.
Lorsque vous demandez une invitation , incluez un objet avec des données pertinentes qui seront utilisées lorsque l'ami rejoint l'expérience, par exemple l'expéditeur de , l'ID d'un badge à attribuer à l'ami lors de son adhésion, ou une position de coordonnées pour générer l'ami à l'endroit.Si vous devez compiler plusieurs morceaux de données, encodez les données en utilisant JSONEncode() .
LocalScript - Inviter plusieurs amislocal 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)-- Construire des options d'invitation avec des données de lancementlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Fonction pour vérifier si le joueur peut envoyer une invitationlocal 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)endPour les amis entrants qui se joignent via la notification, vérifiez les données de lancement du côté du serveur via Player:GetJoinData() .Si vous encodiez plusieurs morceaux de données en JSON pour l'invite de connexion, rappelez-vous de le décoder avec JSONDecode() .
Script - Utilisation des données de lancement d'invitationlocal 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 les données de lancement existent, vous pouvez les utiliser pour une grande variété de scénarios de conception, y compris :
- Générez l'ami arrivant au début d'un parcours d'obstacles difficile que le destinataire vient de terminer, en fonction d'une position de coordonnées transmise par les données de lancement.
- Vérifiez si l'expéditeur est à l'emplacement, en fonction de son dans les données de lancement, et téléportez le personnage de l'ami près de son personnage.