Powiadomienia o zaproszeniu gracza

*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.

Oprócz wspólnych metod promocji w celu zwiększenia bazy graczy możesz wdrożyć prośby o zaproszenie bezpośrednio w swoim doświadczeniu, zachęcając graczy do zapraszania znajomych i zwiększania rozgrywki w rozgrywkawspółdoświadczenia.

System zaproszeń zawiera obserwujefunkcje:

  • Dinamiczni zaproszeni — Poproś graczy o zaproszenie wielu przyjaciół z listy wyboru lub zaproś jednego konkretnego znajomy.
  • Dane o uruchomieniu — Włącz opcjonalne dane o uruchomieniu, które można odczytać przez Player:GetJoinData(), gdy dołącza zaproszony przyjaciel.Przykładowymi przypadkami użycia są przekierowanie zaproszonych przyjaciół do lokalizacji koordynacyjnej lub personalizacja doświadczenia dołączania dla zaproszonego.
  • Dostosowywalny tekst — dostosuj wiadomość zaproszenia i wiadomość powiadomienia.Na przykład powiadomienie o zaproszeniu dla gracza może przeczytać "Poproś znajomych o dołączenie do przygodowe!" a wiadomość o powiadomieniu dla zaproszonych przyjaciół może przeczytać "displayName chce, abyś dołączył do ich przygody w experienceName!".

Możesz również śledzić i nagradzać zapraszających i zaproszonych za pomocą systemu nagród Friend Invite Reward System.

Ustaw opcje zaproszenia

Domyślnie powiadomienie o zaproszeniu dla gracza wyświetla menu znajomych z przyciskami Zaproś .Aby dostosować wiadomość potwierdzającą, ukierunkować konkretnego przyjaciela lub dodać dane o uruchomieniu do zaproszenia, musisz skonfigurować obiekt ExperienceInviteOptions z żądanymi właściwościami.

WłaściwośćTypOpis
PromptMessageciągNiestandardowy tekst wyświetlany w oknie zaproszenia do wysyłania gracza, na przykład "Poproś znajomych o dołączenie do przygodowe!" dla wielokrotnego zaproszenia do przygody lub "Zaproś tego przyjaciela do przygodowe!" dla konkretnego zaproszenia do przyjaciela.Zauważ, że jeśli Twoja niestandardowa wiadomość o zaproszeniu jest wystarczająco długa, aby przekroczyć granice interfejsu użytkownika, nie zostanie wyświetlona.
InviteUsernumber liczbaRoblox UserId konkretnego przyjaciela do zaproszenia; jeśli nie zostanie podany, gracz zostanie poproszony o wybranie z listy przyjaciół.
InviteMessageIdciągID zasobu, które mapuje się do wpisywaćzasobu Powiadomienie .Ten zasób jest używany do przechowywania/lokalizacji niestandardowej struny dla powiadomienia o zaproszeniu, które otrzymują przyjaciele.Zobacz Opcje powiadomienia o ustawieniu dla szczegółów.
LaunchDataciągUżywany do ustawienia parametru w Player:GetJoinData(), gdy przyłącza się przyjaciel z powiadomienieo zaproszeniu.Maksymalnie 200 znaków.Zobacz Uwzględnij dane o uruchomieniu dla przykładu użycia.
Skrypt lokalny - zaproś wielu przyjaciół

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Konstruuj opcje zaproszenia z niestandardowym wiadomość
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Ask your friends to join the adventure!"

Ustaw opcje powiadomienia

Domyślnie powiadomienie o zaproszeniu, które otrzymują przyjaciele, zawiera nazwę nadawcy DisplayName , nazwa użytkownikai nazwę doświadczenia.Aby dostosować wiadomość, możesz utworzyć zasób Powiadomienie na pulpicie nawigacyjnym Twórcy i dodać jego ID jako parametr ExperienceInviteOptions.

  1. Podobnie jak odznaki , ciągniki powiadomień są powiązane z określonym doświadczeniem . Zlokalizuj miniaturkę tego doświadczenia i kliknij ją.

  2. W lewej kolumnie, pod zaangażowaniem , kliknij powiadomienia .

  3. W środkowym regionie kliknij przycisk Utwórz ciąg powiadomień .

  4. Wprowadź nazwę identyfikatora (widoczną tylko dla ciebie) oraz tekst niestandardowej notyfikacji.Zauważ, że musisz dodać experienceName jako miejsce na nazwę do identyfikacji nazwy doświadczenia dla zaproszonych przyjaciół, a opcjonalnie możesz dodać nadawcę DisplayName poprzez miejsce na nazwę displayName .

    Przykładowe struny powiadomień:

    • displayName chce, abyś dołączył do ich przygody w experienceName!
    • displayName właśnie oczyścił szósty etap experienceName. Czy możesz?
  5. Gdy będziesz gotowy, kliknij przycisk Utwórz ciąg powiadomień .

  6. Na stronie powiadomień, w tabeli powiadomień, kliknij przycisk w kolumnie Akcje i wybierz Kopiuj ID zasobu .

  7. W obiekcie ExperienceInviteOptions na pytanie o zaproszenie wklej ID zasobu jako wartość właściwości InviteMessageId.

    Skrypt lokalny - zaproś wielu przyjaciół

    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Wybierz opcje zaproszenia z ID użytkownika znajomy
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Wyślij zaproszenie

Aby wysłać zaproszenie, musisz najpierw 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ć monit o zaproszenie graczowi.

  1. Wezwij SocialService:CanSendGameInviteAsync(), owinięty w pcall() ponieważ jest to asynchroniczne wezwanie sieciowe, które może czasami zawieść.
  2. Jeśli zdolność zaproszenia jest potwierdzona, zadzwoń SocialService:PromptGameInvite() z opcjonalnym obiektem opcji zaproszenia jako drugim argumentem.

Gdy zostanie poproszony, gracz zobaczy monit o wyświetlenie na ekranie, aby zaprosić wielu przyjaciół lub konkretnego przyjaciela określonego w obiekcie opcji zaproszenia .Kiedy gracz następnie kliknie przycisk Zaproś dla jednego lub więcej znajomych, ci znajomi otrzymają powiadomienie zawierające nazwę nadawcy DisplayName, nazwa użytkownikai nazwę doświadczeniaPowiadomienia mogą być dalej dostosowywane, jak opisano w Ustaw opcje powiadomień.

Skrypt lokalny - zaproś wielu przyjaciół

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Funkcja sprawdzania, 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

Zawór dane uruchamiania

Aby dalej poprawić współpracę w doświadczeniu lub zachęcić graczy do wysyłania zaproszeń, możesz dodać dane o uruchomieniu w powiadomieniu o wysłaniu, przydatne dla scenariuszy takich jak przekierowanie zaproszonych przyjaciół do lokalizacji koordynacyjnej lub personalizacja doświadczenia dołączania dla zaproszonych gości.

  1. Gdy wysyłasz zaproszenie , dodaj obiekt z odpowiednimi danymi, które zostaną użyte, gdy przyłączy się przyjaciel do doświadczenia, na przykład nadawcę , ID odznaki do przyznania przyjacielowi po przyłączeniu lub lokalizację koordynacyjną, aby przyjaciel pojawił się.Jeśli musisz skompilować wiele części danych, zakoduj dane za pomocą JSONEncode() .

    Skrypt lokalny - zaproś wielu przyjaciół

    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)
    -- Konstruuj opcje zaproszenia z danymi uruchomienia
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- Funkcja sprawdzania, 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, inviteOptions)
    end
  2. Dla przybywających przyjaciół, którzy dołączają za pośrednictwem powiadomienie, sprawdź dane o uruchomieniu po stronie serwera za pomocą Player:GetJoinData() .Jeśli kodujesz wiele części danych do JSON na potrzeby monitu o zaproszenie, pamiętaj o dekodowaniu go za pomocą JSONDecode() .

    Skrypt - Wykorzystanie danych o uruchomieniu zaproszenia

    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 _ = 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)
  3. Jeśli istnieją dane o uruchomieniu, możesz ich użyć do szerokiej gamy scenariuszy projektowych, w tym:

    • Wygeneruj przychodzącego przyjaciela na początku wyzywającej trasy przeszkód, którą właśnie ukończył nadawca, w oparciu o lokalizację koordynacyjną przekazaną za pomocą danych uruchomienia.
    • Sprawdź, czy nadawca jest na miejsce, w oparciu o ich w danych o uruchomieniu, i teleportuj postać znajomyw pobliżu ich postaci.