Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (2024)

En plus des méthodes de promotion habituelles pour augmenter votre base de joueurs, vous pouvez mettre en place des messagesd'invitation directement dans votre expérience, encourageant ainsi les joueurs à inviter leurs amis et augmentant le nombre de parties en co-expérience.

Le système d'invite propose les fonctionnalités suivantes:

  • Invités dynamiques-Incite les joueurs à inviter plusieurs amis à partir d'une liste de sélection ou à inviter un ami en particulier.

  • Données de lancement-Incluez des données de lancement facultatives qui peuvent être lues par Player:GetJoinData() lorsque votre ami invité s'inscrit. Les exemples de cas d'utilisation incluent le routage des amis invités vers un lieu coordonné ou la personnalisation de l'expérience d'adhésion pour l'invité.

  • Texte personnalisable-Personnalisez le message d'invitation et le message de notification. Par exemple, un message d'invitation pour le joueur peut être «Demandez à vos amis de rejoindre l'aventure! » et le message de notification pour le(s) ami(s) invité(s) peut être «{displayName} veut que vous le(s) rejoigniez dans {experienceName}! ».

Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (1)
Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (2)

Définir les options d'invitation

Par défaut, un message d'invitation pour le joueur affiche un menu contenant les noms de ses amis accompagnés de boutons Inviter. Si vous souhaitez personnaliser le message d'invitation, cibler un ami spécifique ou inclure des données de lancement dans l'invitation, vous devez configurer un objet ExperienceInviteOptions avec les propriétés souhaitées.

PropriétéTypeDescription
PromptMessagechaîneTexte personnalisé affiché dans le message d'invitation pour le joueur qui l'envoie, par exemple «Demandez à vos amis de rejoindre l'aventure! » pour un message d'invitation Veuillez noter que si votre message d'invitation personnalisé ne sera pas affiché s'il est suffisamment long pour dépasser les limites de l'UI.
InviteUsernombreRoblox UserIdde votre ami spécifique à inviter; s'il n'est pas fourni, le joueur sera invité à choisir dans une liste d'amis.
InviteMessageIdchaîneID d'élément qui correspond à un type d'élément Notification. Cet élément est utilisé pour stocker/localiser une chaîne personnalisée pour la notification d'invitation que les amis reçoivent. Voir Définir les options de notification pour plus de détails.
LaunchDatachaîneUtilisé pour définir un paramètre dans Player:GetJoinData() lorsqu'un ami s'inscrit à partir de la notification d'invitation. 200caractères maximum. Voir Inclure les données de lancement pour un exemple d'utilisation.

LocalScript - Invite Multiple Friends

local SocialService = game:GetService("SocialService")

local Players = game:GetService("Players")

local player = Players.LocalPlayer

-- Construct invite options with a custom prompt message

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 DisplayName de l'expéditeur, le nom d'utilisateur et le nom de l'expérience. Pour personnaliser le message, vous pouvez créer un élément de notification sur l'Interface de création et inclure son ID d'élément en tant que paramètre de ExperienceInviteOptions.

  1. Accédez à l'Interface de création.

  2. À l'instar des badges, les chaînes de notification sont liées à une expérience spécifique. Localisez la vignette de cette expérience et cliquez dessus.

  3. Dans la colonne de gauche, cliquez sur Notifications.

    Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (3)
  4. Dans la partie centrale, cliquez sur le bouton Créer une chaîne de notification.

    Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (4)
  5. Indiquez un nom d'identifiant (visible uniquement par vous) et le texte de la notification personnalisée. Veuillez noter que vous devez inclure {experienceName} comme marqueur pour identifier le nom de l'expérience pour les amis invités, vous pouvez éventuellement inclure le DisplayName de l'expéditeur par le biais du marqueur {displayName}. Par exemple:

    • {displayName} souhaite que vous rejoigniez leur aventure dans {experienceName}!

    • {displayName} vient juste de finir le sixième niveau de {experienceName}. Le pouvez-vous?

  6. Lorsque vous êtes prêt, cliquez sur le bouton Créer une chaîne de notification.

    Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (5)
  7. Sur la page des notifications, cliquez sur le bouton

    Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (6)
  8. Dans l'objet ExperienceInviteOptions du message d'invitation, collez l'ID d'élément comme valeur de laInviteMessageId propriété .

    LocalScript - Invite Multiple Friends

    local SocialService = game:GetService("SocialService")

    local Players = game:GetService("Players")

    local player = Players.LocalPlayer

    -- Construct invite options with friend's user ID

    local inviteOptions = Instance.new("ExperienceInviteOptions")

    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Lancer une invitation

Pour lancer une invitation, vous devez d'abord déterminer si le joueur peut envoyer une invitation, car cela peut varier en fonction de la plateforme ou du joueur. Une fois l'invitation confirmée, vous pouvez afficher le message d'invitation au joueur.

  1. Appelez SocialService:CanSendGameInviteAsync(), enveloppé dans un pcall() puisqu'il s'agit d'un appel réseau asynchrone qui peut occasionnellement échouer.

  2. Si la capacité d'invitation est confirmée, appelez SocialService:PromptGameInvite() avec l'objet d'options d'invitation facultatif comme deuxième argument.

lui indiquant à inviter plusieurs amis ou l'ami défini dans l'objet d'options d'invitation. Lorsque le joueur clique ensuite sur le bouton Inviter pour un ou plusieurs amis, ces derniers reçoivent une notification contenant le DisplayName de l'expéditeur, son nom d'utilisateur et le nom de l'expérience. Les notifications peuvent être personnalisées comme indiqué dans la section Définir les options de notification.

LocalScript - Invite Multiple Friends

local SocialService = game:GetService("SocialService")

local Players = game:GetService("Players")

local player = Players.LocalPlayer

-- Function to check whether the player can send an invite

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

local success, errorMessage = pcall(function()

SocialService:PromptGameInvite(player)

end)

end

Inclure les données de lancement

Vous pouvez inclure des données de lancement dans une invite pour améliorer davantage la coopération en cours d'expérience ou pour inciter les joueurs à s'inviter, ce qui est utile dans des scénarios tels que le transfert des amis invités vers un emplacement coordonné ou la personnalisation du processus pour l'invité.

  1. Lorsque vous lancez une invitation, incluez un objet ExperienceInviteOptions contenant des données pertinentes qui seront utilisées lorsque l'ami rejoindra l'expérience, par exemple l'Player.UserId de l'expéditeur, l'ID d'un badge à remettre à cet ami lorsqu'il rejoindra l'expérience, ou une coordonnée de l'emplacement où l'ami doit commencer l'expérience. Si vous devez compiler plusieurs éléments de données, encodez les données à l'aide de JSONEncode().

LocalScript - Invite Multiple Friends

local HttpService = game:GetService("HttpService")

local SocialService = game:GetService("SocialService")

local Players = game:GetService("Players")

local player = Players.LocalPlayer

local data = {

senderUserID = player.UserId,

spawnLocation = {12, 48, 205.5}

}

local launchData = HttpService:JSONEncode(data)

-- Construct invite options with launch data

local inviteOptions = Instance.new("ExperienceInviteOptions")

inviteOptions.LaunchData = launchData

-- Function to check whether the player can send an invite

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

local success, errorMessage = pcall(function()

SocialService:PromptGameInvite(player, inviteOptions)

end)

end

N'oubliez jamais d'inclure des inviteOptions contenant les données de lancement (200caractères maximum) comme deuxième paramètre de PromptGameInvite().

  1. Vérifiez les données de lancement sur le serveur par le biais de Player:GetJoinData() lorsque de nouveaux amis s'inscrivent par le biais de la notification. Si vous encodez plusieurs données en JSON pour l'invite, n'oubliez pas de les décoder avec JSONDecode().

    Script - Using Invite Launch Data

    local HttpService = game:GetService("HttpService")

    local Players = game:GetService("Players")

    local ATTEMPT_LIMIT = 10

    local RETRY_DELAY = 1

    local function onPlayerAdded(player)

    local launchData

    for i = 1, ATTEMPT_LIMIT do

    task.wait(RETRY_DELAY)

    local joinData = player:GetJoinData()

    if joinData.LaunchData ~= "" then

    launchData = joinData.LaunchData

    break

    end

    end

    if launchData then

    local data = HttpService:JSONDecode(launchData)

    print(data.senderUserID)

    print(data.spawnLocation)

    else

    warn("No launch data received!")

    end

    end

    Players.PlayerAdded:Connect(onPlayerAdded)

    end

    end

    Players.PlayerAdded:Connect(onPlayerAdded)

    Les données de lancement peuvent prendre quelques secondes pour apparaître après que l'ami s'est inscrit grâce à l'invitation. Comme le montre le code ci-dessus, nous vous recommandons d'attendre que les données de lancement arrivent avant d'essayer de les utiliser.

  2. Si les données de lancement sont disponibles, vous pouvez les utiliser pour une grande variété de scénarios de conception, notamment:

    • Faites apparaître un ami au début d'une course d'obstacles que l'expéditeur vient de terminer sur la base de coordonnées transmises grâce aux données de lancement.

    • Vérifier si l'expéditeur se trouve dans l'emplacement, en se basant sur son Player.UserId dans les données de lancement, et téléporter le personnage de l'ami près de son personnage.

Messages d'invitation pour les joueurs | Documentation - Hub Création Roblox (2024)
Top Articles
Latest Posts
Article information

Author: Arline Emard IV

Last Updated:

Views: 6362

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Arline Emard IV

Birthday: 1996-07-10

Address: 8912 Hintz Shore, West Louie, AZ 69363-0747

Phone: +13454700762376

Job: Administration Technician

Hobby: Paintball, Horseback riding, Cycling, Running, Macrame, Playing musical instruments, Soapmaking

Introduction: My name is Arline Emard IV, I am a cheerful, gorgeous, colorful, joyous, excited, super, inquisitive person who loves writing and wants to share my knowledge and understanding with you.