SocialService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
SocialService facilita las funciones sociales que afectan las relaciones establecidas en la plataforma Roblox.Su uso principal es mostrar invitaciones de invitación y la agenda telefónica a los jugadores, permitiéndoles enviar solicitudes de invitación a sus amigos a través de PromptGameInvite() y PromptPhoneBook() respectivamente.Puedes aprovechar las señales cuando se hagan tales solicitudes.
Resumen
Métodos
Oculta la vista propia del jugador llamador.
Solicita al dado Player con la pantalla de invitación.
Solicita al dado Player con el libro de teléfonos.
Muestra la vista propia del jugador llamante.
Indica si el dado Player puede invitar a otros jugadores a una llamada.
Indica si el dado Player puede invitar a otros jugadores.
Eventos
Se activa cuando el estado de la llamada de un jugador cambia.
Se enciende cuando un jugador cierra una invitación.
Se enciende cuando un jugador cierra la solicitud del libro de teléfonos.
Llamadas
Devolución de llamada cuando se realiza una llamada desde la agenda telefónica.
Propiedades
Métodos
HideSelfView
Oculta la vista propia del jugador llamante. Si se llama este método mientras la vista propia ya está oculta, no hace nada.
Devuelve
PromptGameInvite
PromptGameInvite() muestra una invitación al jugador local a través de la cual pueden invitar a sus amigos a la experiencia actual.Antes de llamar a este método, debe usar CanSendGameInviteAsync() para determinar si el jugador puede enviar una invitación, ya que esta capacidad puede variar dependiendo de la plataforma o el jugador.
Vea Invitaciones de jugador para más detalles sobre la implementación de invitaciones, la personalización de solicitudes y notificaciones, y el uso de datos de lanzamiento.
Parámetros
El Player para solicitar con la ventana emergente de invitación.
Objeto opcional ExperienceInviteOptions para personalizar la solicitud.
Devuelve
Muestras de código
The following code sample uses CanSendGameInviteAsync() to confirm whether the local Player can send an invite. If true, it then prompts the invite using PromptGameInvite().
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
SocialService:PromptGameInvite(player)
end
PromptPhoneBook
Solicita al dado Player con el libro de teléfonos.Si el jugador elige llamar a alguien, se activa el evento CallInviteStateChanged.Debe usar CanSendCallInviteAsync() antes de llamar PromptPhoneBook() ya que la capacidad de ver la agenda telefónica puede variar dependiendo del jugador.
Si un jugador no es elegible para abrir la agenda telefónica, se muestra un diálogo de error.
Vea Roblox Connect para una implementación de muestra de este método.
Parámetros
El jugador para solicitar con el libro de teléfonos.
Texto para ayudar a diferenciar entre varios "puntos de entrada" de libro de teléfonos o similares.Por ejemplo, puedes pasar una cadena que defina en qué región de una experiencia se encuentra actualmente el personaje del jugador llamador.
Devuelve
Muestras de código
The following code sample, placed within a child LocalScript of a GuiButton, uses CanSendCallInviteAsync() to confirm that the player can make a call. If so, it connects PromptPhoneBook() to the button's Activated event.
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Function to check whether the player can send a call invite
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end
ShowSelfView
Muestra la vista propia del jugador llamante. Si se llama este método mientras la vista propia ya es visible, no hace nada.
Parámetros
La posición para colocar la vista autónoma.
Devuelve
CanSendCallInviteAsync
Devuelve true si el dado Player puede enviar una invitación de llamada a un amistad.Siempre debe usar el resultado de este método antes de llamar PromptPhoneBook() ya que la capacidad de abrir la agenda telefónica puede variar dependiendo del jugador.
Vea Roblox Connect para una implementación de muestra de este método.
Parámetros
Devuelve
Si el jugador especificado puede enviar una invitación de llamada.
Muestras de código
The following code sample, placed within a child LocalScript of a GuiButton, uses CanSendCallInviteAsync() to confirm that the player can make a call. If so, it connects PromptPhoneBook() to the button's Activated event.
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Function to check whether the player can send a call invite
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end
CanSendGameInviteAsync
CanSendGameInviteAsync() devuelve true si el dado Player puede invitar a otros jugadores a la experiencia actual.Siempre debe usar el resultado de este método antes de llamar PromptGameInvite() ya que la capacidad de invitar a jugadores puede variar dependiendo de la plataforma o del jugador.
Vea Invitaciones de jugador para más detalles sobre la implementación de invitaciones de jugador, la personalización de invitaciones y notificaciones, y el uso de datos de lanzamiento.
Parámetros
La instancia Player del jugador que potencialmente envía una invitación.
Opcional del receptor potencial , usado para verificar si el remitente puede invitar a ese destinatarioespecífico.
Devuelve
Si el jugador especificado puede enviar una invitación.
Muestras de código
The following code sample uses CanSendGameInviteAsync() to confirm whether the local Player can send an invite. If true, it then prompts the invite using PromptGameInvite().
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
SocialService:PromptGameInvite(player)
end
Eventos
CallInviteStateChanged
Este evento se activa cuando cambia el estado de la invitación de llamada de un jugador.
Parámetros
La instancia Player del jugador que tuvo un cambio de estado de invitación de llamada.
El nuevo estado de invitación de llamada.
Muestras de código
local SocialService = game:GetService("SocialService")
local button = script.Parent
local isPhonebookOpen = false
SocialService.CallInviteStateChanged:Connect(function(_, inviteState)
local isCalling = inviteState == Enum.InviteState.Placed
if isCalling or isPhonebookOpen then
button.Visible = false
else
button.Visible = true
end
end)
GameInvitePromptClosed
Este evento se activa cuando un jugador cierra una invitación.
Parámetros
Ya no está poblado; un matriz/listavacío.
Llamadas
OnCallInviteInvoked
Una llamada para procesar cuando se realiza una llamada desde la agenda telefónica.El parámetro tag se puede usar para diferenciar entre diferentes "puntos de entrada" o similares, como se describe en PromptPhoneBook() .Solo se puede establecer una llamada de devolución.
Parámetros
Texto para ayudar a diferenciar entre varios puntos de entrada del libro de teléfonos.
Arr列包含所有参加呼叫的玩家。呼叫者 siempre será el primer jugador en el matriz/lista
Devuelve
Tabla que incluye las teclas PlaceId y ReservedServerAccessCode cuyos valores son los de DataModel.PlaceId y el código de acceso al servidor devuelto por TeleportService:ReserveServer(), respectivamente.
Muestras de código
local SocialService = game:GetService("SocialService")
local TeleportService = game:GetService("TeleportService")
SocialService.OnCallInviteInvoked = function()
local placeId = 0123456789 -- This is the place ID of the desired place to drop call participants into
local accessCode = TeleportService:ReserveServer(placeId)
return { ReservedServerAccessCode = accessCode, PlaceId = placeId }
end