SocialService

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio
No replicado

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

Eventos

Llamadas

Propiedades

Métodos

GetPlayersByPartyId

Instances

Parámetros

partyId: string
Valor predeterminado: ""

Devuelve

Instances

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

player: Instance

El Player para solicitar con la ventana emergente de invitación.

Valor predeterminado: ""
experienceInviteOptions: Instance

Objeto opcional ExperienceInviteOptions para personalizar la solicitud.

Valor predeterminado: "nil"

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().

Sending an Invite

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

player: Instance

El jugador para solicitar con el libro de teléfonos.

Valor predeterminado: ""
tag: string

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.

Valor predeterminado: ""

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.

SocialService:PromptPhoneBook()

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

selfViewPosition: Enum.SelfViewPosition

La posición para colocar la vista autónoma.

Valor predeterminado: "LastPosition"

Devuelve

()

CanSendCallInviteAsync

Proporciona

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

player: Instance

La instancia Player del jugador que potencialmente envía una invitación de llamada.

Valor predeterminado: ""

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.

SocialService:PromptPhoneBook()

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

Proporciona

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

player: Instance

La instancia Player del jugador que potencialmente envía una invitación.

Valor predeterminado: ""
recipientId: number

Opcional del receptor potencial , usado para verificar si el remitente puede invitar a ese destinatarioespecífico.

Valor predeterminado: 0

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().

Sending an Invite

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

GetPartyAsync

Proporciona

Parámetros

partyId: string
Valor predeterminado: ""

Devuelve

Eventos

CallInviteStateChanged

Este evento se activa cuando cambia el estado de la invitación de llamada de un jugador.

Parámetros

player: Instance

La instancia Player del jugador que tuvo un cambio de estado de invitación de llamada.

inviteState: Enum.InviteState

El nuevo estado de invitación de llamada.


Muestras de código

SocialService.CallInviteStateChanged

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

player: Instance

La instancia Player del jugador que cerró el mensaje de advertencia.

recipientIds: Array

Ya no está poblado; un matriz/listavacío.


PhoneBookPromptClosed

Se enciende cuando un jugador cierra la solicitud del libro de teléfonos.

Parámetros

player: Instance

La instancia Player del jugador que cerró la agenda telefónica.


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

tag: string

Texto para ayudar a diferenciar entre varios puntos de entrada del libro de teléfonos.

callParticipantIds: Array

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

SocialService.OnCallInviteInvoked

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