Oprócz zwykłych metod promocji służących do zwiększenia swojej bazy graczy, możesz wdrożyć zaproszenia do zaproszeń bezpośrednio w swoim doświadczeniu, zachęcając graczy do zaproszenia znajomych i zwiększenia współpracy w rozgrywka.
System zaproszeń ma obserwujefunkcje:
- Dynamiczni zaproszeni — Zaproś graczy z listy wyboru wielu przyjaciół lub zaproś jednego konkretnego znajomy.
- Launch Data — Włącz opcjonalne dane startowe, które można przeczytać poprzez Player:GetJoinData() , gdy zaproszony przyjaciel dołącza. Przykładowe wypadki użycia obejmują przekierowanie zaproszonych przyjaciół na lokalizację koordynat lub personalizację doświadczenia łączenia dla zaproszonego.
- Napiszczalny tekst — Napiszczalny tekst można ściągnąć z wiadomości Zaproś i wiadomości Powiadomienie. Na przykład zaproszenie dla gracza może czytać „Zapytaj swoich przyjaciół, aby dołączyli do przygodowe!”, a wiadomość dla zaproszonego znajomymoże czytać "displayName chce, aby dołączy
Możesz również śledzić i nagradzać gości zaproszonych za pomocą Systemu nagradzania gości zaproszonych.
Ustawienia zaproszeń
Domyślnie zaproszenie dla gracza pokazuje menu jego przyjaciół z zaproś przyciskami. Aby dostosować wiadomość zaproszenia, celuj się na określonego znajomylub włącz dane o uruchomieniu w zaproszeniu, będziesz musiał ustawić obiekt ExperienceInviteOptions z wymaganymi właściwościami.
Własność | Typ | Opis |
---|---|---|
PromptMessage | ciąg | Niestandardowy tekst pokazany na zaproszeniu gracza do wysyłania, na przykład "Zapytaj swoich przyjaciół, aby dołączyli do przygodowe!" dla wielu zaproszeń przyjaciół, lub "Zaproś tego przyjaciela, aby dołączył do przygodowe!" dla określnego zaproszenia przyjaciela. Uwaga, że jeśli twoje zaproszenie do wysyłania jest długość do przekroczenia granic UI, nie będzie pokazany. |
InviteUser | liczba | Roblox UserId znajomego specjalnie zaproszonego; jeśli nie zostanie to zapewnione, gracz będzie proszony o wybór z listy znajomych. |
InviteMessageId | ciąg | Identyfikator zasobu, który mapuje się na powiadomienie wpisywaćzasobu. Ten identyfikator jest używany do przechowywania/lokalizacji niestandardowej linii dla powiadomienia zaproszenia, które otrzymują przyjaciele. Zobacz Ustawienia Opcji Powiadomienia dla szczegółów. |
LaunchData | ciąg | Używany do ustawienia parametru w Player:GetJoinData() , gdy przyjaciel dołącza z powiadomienie. Maksymalnie 200 znaków. Zobacz włączającym dane o uruchomieniu dla przykładu użycia. |
Lokalny Skrypt - Zaproś Wielu Przyjaciół
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Konstruuj zaproszenia przy użyciu niestandardowego wiadomośćlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Ustawienia Opcji Notyfikacji
Domyślnie zaproszenie, które otrzymują przyjaciele, zawiera zaproszenie nadawcy, nazwa użytkownikai imię doświadczenia. Aby dostosować wiadomość, możesz utworzyć DisplayName na karcie Twórcy i włączyć jego ID jako parametru Class.ExperienceInviteOptions.
Przejdź do Panelu twórcy.
Podobnie jak w przypadku nagrody, wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się wiążą się w
W lewej kolumnie, pod zaangażowanie, kliknij Powiadomienia.
W regionie centralnym, kliknij przycisk Utwórz Strumień Powiadomień .
Wypełnij identyfikator (tylko dla ciebie widoczny) i tekst personalizowanej notyfikacji. Uwaga, musisz włączyć playerName jako miejsce wymiaru dla zaproszonych przyjaciół, a możesz opcjonalnie włączyć tekst DisplayName poprzez miejsce wymiaru.
Struny powiadomienia przykładu:
- displayName chce, abyś dołączył do ich przygody w experienceName!
- displayName po prostu ukończył szósty etap experienceName. Czy możesz?
Gdy będziesz gotowy, kliknij przycisk Utwórz Notatkę .
Na stronie powiadomień kliknij przycisk ⋯ dla powiadomienia i wybierz Kopiuj ID zasobu .
W obiekcie ExperienceInviteOptions dla zaproszenia wpisz ID zasobu jako wartość właściwości InviteMessageId.
Lokalny Skrypt - Zaproś Wielu Przyjaciółlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Konstruuj zaproszenia z użyciem ID znajomylocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Prośba o zaproszenie
Aby zachęcić do zaproszenia, najpierw musisz określić, czy gracz może wysłać zaproszenie, ponieważ zdolność może się różnić w zależności od platformy lub gracza. Po potwierdzeniu możesz wyświetlić zaproszenie dla gracza.
- Zadzwoń do SocialService:CanSendGameInviteAsync() , zapakowane w pcall(), ponieważ jest to wewnętrzny wezwanie sieci, które czasami może się nie powodować.
- Jeśli zdolność zaproszenia zostanie potwierdzona, wezwij SocialService:PromptGameInvite() z opcjonalnym obiektem zaproszeń jako drugim argumentem.
Po zachęceniu gracza do zaproszenia wielu przyjaciół zobaczy on ekranowe powiadomienie, aby zaprosić wielu przyjaciół, lub Specjalne imię przyjaciela, nazwa użytkownikai DisplayName. Powiadomienia można dostos
Lokalny Skrypt - Zaproś Wielu Przyjaciół
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Funkcja sprawdzenia, czy gracz może wysłać zaproszenie
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
Włączone dane o uruchomieniu
Aby dalej poprawić współpracę w doświadczeniu lub zachęcić do zaproszeń graczy, możesz включить dane o uruchomieniu w wierszu zaproszenia, przydatnym dla scenariuszy takich jak przekierowanie zaproszonych przyjaciół do lokalizacji zaproszenia lub personalizacja doświadczenia przyłączenia dla zaproszonego.
Kiedy żądasz zaproszenia, włącz ExperienceInviteOptions obiekt z odpowiednimi danymi, które zostaną użyte, gdy przyjaciel dołączy do doświadczenia, na przykład wysyłacz Class.Player.UserId
Lokalny Skrypt - Zaproś Wielu Przyjaciółlocal 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)-- Konstruuj zaproszenia z danymi uruchomienialocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Funkcja sprawdzenia, czy gracz może wysłać zaproszenielocal 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)endDla przyjaciół, którzy dołączają poprzez powiadomienie, sprawdź dane o uruchomieniu na stronie serwera poprzez Player:GetJoinData(). Jeśli szyfrujesz wiele danych w JSON dla zaproszenia, pamiętaj o jego odczytaniu z użyciem JSONDecode().
Skrypt - Korzystanie z danych zaproszenialocal 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)Jeśli dane o uruchomieniu istnieją, możesz użyć go do szerokiej gamy scenariuszy projektowych, w tym:
- Pojawь przyjaciela w początkach wyzwania, które przesyłacz właśnie ukończył, oparte na lokalizacji koordynat przekazanych poprzez dane uruchomienia.
- Sprawdź, czy nadawca jest w miejsce, w oparciu o ich Player.UserId w danych uruchomienia, i teleportuj znakomitą postać znajomyw pobliżu ich znakomitego postaci.