SocialService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Usługa społecznościowa ułatwia funkcje społeczne, które wpływają na relacje zawarte na platformaRoblox.Głównym jego zastosowaniem jest pokazanie prośb o zaproszenie i książki telefonicznej graczom, umożliwiając im wysyłanie zaproszeń do swoich znajomych za pośrednictwem i respectively.Możesz wykorzystać sygnały, gdy są dokonywane takie żądania.
Podsumowanie
Metody
Ukrywa własny widok gracza wzywającego.
Wysyła powiadomienie do podanego Player z ekranem zaproszenia.
Pyta danego Player z książką telefoniczną.
Pokazuje własny widok wezwującego gracza.
Wskazuje, czy podany Player może zaprosić innych graczy do wezwania.
Wskazuje, czy podany Player może zaprosić innych graczy.
Zdarzenia
Wystrzeliwuje, gdy zmienia się stan wezwania gracza.
Wypala się, gdy gracz zamyka monit o zaproszenie.
Wystrzeliwuje, gdy gracz zamyka okno książki telefonicznej.
Wywołania zwrotne
Odwołanie, gdy dzwonienie jest wykonywane z książki telefonicznej.
Właściwości
Metody
HideSelfView
Ukrywa widok siebie wzywającego gracza. Jeśli ta metoda jest wywoływana, gdy widok siebie jest już ukryty, nie robi nic.
Zwroty
PromptGameInvite
PromptGameInvite() wyświetla zaproszenie do lokalnego gracza poprzez który mogą zaprosić swoich znajomych do obecnego doświadczenia.Przed wywołaniem tej metody powinieneś użyć CanSendGameInviteAsync(), aby określić, czy gracz może wysłać zaproszenie, ponieważ ta zdolność może się różnić w zależności od platformy lub gracza.
Zobacz powiadomienia o zaproszeniu gracza dla więcej szczegółów na temat wdrażania powiadomień o zaproszeniu, dostosowywania powiadomień i powiadomień oraz wykorzystywania danych uruchomienia.
Parametry
Opcjonalny przedmiot ExperienceInviteOptions do dostosowywania monitu.
Zwroty
Przykłady kodu
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
Pyta danego Player z książką telefoniczną.Jeśli gracz wybiera wezwanie kogoś, wydarzenie CallInviteStateChanged włącza się.Powinieneś użyć CanSendCallInviteAsync() przed wywołaniem PromptPhoneBook(), ponieważ zdolność widzenia książki telefonicznej może się różnić w zależności od gracza.
Jeśli gracz nie może otworzyć książki telefonicznej, pokazany jest dialog o błędzie.
Zobacz Roblox Connect dla przykładowej implementacji tej metody.
Parametry
Gracz, który poprosi o książkę telefoniczną.
Sznurek, który pomaga odróżnić różne punkty wejścia do książki telefonicznej lub podobne.Na przykład możesz przekazać ciąg określający, w którym regionie doświadczenia znajduje się obecnie postać wezwującego gracza.
Zwroty
Przykłady kodu
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
Pokazuje własny widok gracza, który dzwoni. Jeśli ta metoda jest wywoływana, gdy własny widok jest już widoczny, nie robi nic.
Parametry
Pozycja, w której należy umieścić widok siebie.
Zwroty
CanSendCallInviteAsync
Wyświetla true, jeśli podany Player może wysłać zaproszenie do wezwania znajomy.Zawsze powinieneś używać wyniku tej metody przed wywołaniem PromptPhoneBook(), ponieważ możliwość otwarcia książki telefonicznej może się różnić w zależności od gracza.
Zobacz Roblox Connect dla przykładowej implementacji tej metody.
Parametry
Zwroty
Czy określony gracz może wysłać zaproszenie do wezwania.
Przykłady kodu
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() zwraca true jeśli podany Player może zaprosić innych graczy do obecnego doświadczenia.Zawsze powinieneś używać wyniku tej metody przed wezwaniem PromptGameInvite(), ponieważ możliwość zaproszenia graczy może się różnić w zależności od platformy lub gracza.
Zobacz powiadomienia o zaproszeniu gracza dla więcej szczegółów na temat wdrażania powiadomień o zaproszeniu gracza, dostosowywania powiadomień i powiadomień oraz wykorzystywania danych uruchomienia.
Parametry
Opcjonalny z potencjalnego odbiorcy >, używany do sprawdzenia, czy nadawca może zaprosić tego konkretnego odbiorca.
Zwroty
Czy wskazany gracz może wysłać zaproszenie.
Przykłady kodu
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
Zdarzenia
CallInviteStateChanged
To wydarzenie wystrzeliwuje, gdy zmienia się stan zaproszenia do wezwania gracza.
Parametry
Nowy stan zaproszenia do wezwania.
Przykłady kodu
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
To wydarzenie wystrzeliwuje, gdy gracz zamyka monit o zaproszenie.
Parametry
Nie jest już zapełniony; pusty array.
Wywołania zwrotne
OnCallInviteInvoked
Wezwanie do przetworzenia, gdy dzwoni się z książki telefonicznej.Parametr tag może być użyty do rozróżnienia między różnymi "punktami wejścia" lub podobnymi, jak opisano w PromptPhoneBook() .Można ustawić tylko jeden powrót.
Parametry
Sznurek, który pomaga odróżnić między różnymi punktami wejścia do książki telefonicznej.
Lista zawierająca wszystkich graczy zaangażowanych w wezwanie. Wzywający zawsze będzie pierwszym graczem w liście.
Zwroty
Tabela zawierająca klawisze PlaceId i ReservedServerAccessCode, których wartości są odpowiednio DataModel.PlaceId i kod dostępu do serwera zwrotiony przez TeleportService:ReserveServer(), odpowiednio.
Przykłady kodu
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