Prośby o zaproszenie graczy

*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 standardowych metod promocji mających na celu zwiększenie liczby graczy, możesz wdrożyć prośby o zaproszenie bezpośrednio w swojej grze, zachęcając graczy do zapraszania przyjaciół i zwiększania wspólnej zabawy.

System prośby o zaproszenie oferuje następujące funkcje:

  • Dynamiczne zapraszane osoby — Zachęcaj graczy do zapraszania wielu przyjaciół z listy wyboru lub zapraszania jednego konkretnego przyjaciela.
  • Dane uruchamiania — Dołącz opcjonalne dane uruchamiania, które można odczytać za pomocą Player:GetJoinData(), gdy zaproszony przyjaciel dołącza. Przykłady zastosowań obejmują kierowanie zaproszonych przyjaciół do konkretnej lokalizacji lub personalizowanie gra wchodzącą dla zapraszanego.
  • Tekst do dostosowania — Dostosuj wiadomość zaproszenia oraz wiadomość powiadomienia. Na przykład, prośba o zaproszenie dla gracza może brzmieć "Poproś swoich przyjaciół o dołączenie do przygody!", a wiadomość powiadomienia dla zaproszonych przyjaciół może brzmieć "{displayName} chce, żebyś dołączył do jego przygody w {experienceName}!".

Możesz również śledzić i nagradzać osoby zapraszające oraz zapraszane, korzystając z Systemu Nagród za Zaproszenia Przyjaciół.

Ustawienia opcji zaproszenia

Domyślnie prośba o zaproszenie dla gracza pokazuje menu jego przyjaciół z przyciskami Zapraszam. Aby dostosować wiadomość prośby, wybrać konkretnego przyjaciela lub dołączyć dane uruchamiania do zaproszenia, musisz skonfigurować obiekt ExperienceInviteOptions z pożądanymi właściwościami.

WłaściwośćTypOpis
PromptMessagestringWłasny tekst wyświetlany w prośbie o zaproszenie dla wysyłającego gracza, na przykład "Poproś swoich przyjaciół o dołączenie do przygody!" dla zaproszeń do wielu przyjaciół lub "Zaprosij tego przyjaciela do dołączenia do przygody!" dla zaproszeń do konkretnego przyjaciela. Zauważ, że jeśli Twój własny tekst prośby o zaproszenie jest na tyle długi, że wychodzi poza granice UI, nie zostanie wyświetlony.
InviteUsernumberRoblox UserId konkretnego przyjaciela do zaproszenia; jeśli nie podano, gracz zostanie poproszony o wybranie z listy przyjaciół.
InviteMessageIdstringID zasobu, który odpowiada typowi zasobu Powiadomienie. Ten zasób jest używany do przechowywania/lokalizacji własnego ciągu dla powiadomienia o zaproszeniu, które otrzymują przyjaciele. Zobacz Ustawianie opcji powiadomienia po szczegóły.
LaunchDatastringUżywane do ustawienia parametru w Player:GetJoinData(), gdy przyjaciel dołącza z powiadomienia o zaproszeniu. Maksymalnie 200 znaków. Zobacz Dołącz dane uruchamiania aby poznać przykład użycia.
LocalScript - Zaproszenie wielu przyjaciół
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Konstruowanie opcji zaproszenia z własnym komunikatem prośby
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Poproś swoich przyjaciół o dołączenie do przygody!"

Ustawienia opcji powiadomienia

Domyślnie powiadomienie o zaproszeniu, które otrzymują przyjaciele, zawiera DisplayName nadawcy, nazwę użytkownika oraz nazwę gry. Aby dostosować wiadomość, możesz utworzyć zasób Powiadomienie na Dashbordzie Kreatora i dołączyć jego ID zasobu jako parametr ExperienceInviteOptions.

  1. Przejdź do Dashbordu Kreatora.

  2. Podobnie jak w przypadku odznak, ciągi powiadomień są związane z konkretną grą. Znajdź miniaturkę tej gry i kliknij na nią.

  3. W lewej kolumnie, w sekcji Zaangażowanie, kliknij Powiadomienia.

  4. W centralnym regionie kliknij przycisk Utwórz ciąg powiadomienia.

  5. Wypełnij nazwę identyfikatora (widoczną tylko dla Ciebie) oraz własny tekst powiadomienia. Zauważ, że musisz dołączyć {experienceName} jako miejsce na nazwę gry dla zapraszanych przyjaciół, a opcjonalnie możesz dołączyć DisplayName nadawcy poprzez zastąpienie {displayName}.

    Przykłady ciągów powiadomień:

    • {displayName} chce, żebyś dołączył do jego przygody w {experienceName}!
    • {displayName} właśnie ukończył szósty etap {experienceName}. Czy potrafisz?
  6. Gdy będziesz gotowy, kliknij przycisk Utwórz ciąg powiadomienia.

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

  8. W obiekcie ExperienceInviteOptions dla prośby o zaproszenie wklej ID zasobu jako wartość właściwości InviteMessageId.

    LocalScript - Zaproszenie wielu przyjaciół
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Konstruowanie opcji zaproszenia z ID użytkownika przyjaciela
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Prośba o zaproszenie

Aby zaproponować zaproszenie, najpierw musisz ustalić, czy gracz może wysłać zaproszenie, ponieważ ta zdolność może się różnić w zależności od platformy lub gracza. Po potwierdzeniu, możesz wyświetlić graczowi prośbę o zaproszenie.

  1. Wywołaj SocialService:CanSendGameInviteAsync(), owiniętą w pcall(), ponieważ jest to asynchroniczne wywołanie sieciowe, które może od czasu do czasu zawieść.
  2. Jeśli potwierdzono możliwość zaproszenia, wywołaj SocialService:PromptGameInvite() z opcjonalnym obiektem opcji zaproszenia jako drugim argumentem.

Gdy zaproszenie zostanie zaproponowane, gracz zobaczy na ekranie prośbę o zaproszenie wielu przyjaciół lub konkretnego przyjaciela zdefiniowanego w obiekcie opcji zaproszenia. Gdy gracz kliknie przycisk Zapraszam dla jednego lub więcej przyjaciół, ci przyjaciele otrzymają powiadomienie zawierające DisplayName, nazwę użytkownika oraz nazwę doświadczenia. Powiadomienia mogą być dalej dostosowywane zgodnie z opisem w Ustawienia opcji powiadomienia.

LocalScript - Zaproszenie wielu przyjaciół
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Funkcja sprawdzająca, 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

Dołącz dane uruchamiania

Aby jeszcze bardziej poprawić współpracę w grze lub zachęcić do zaproszeń graczy, możesz dołączyć dane uruchamiania do prośby o zaproszenie, co jest przydatne w scenariuszach takich jak kierowanie zapraszanych przyjaciół do konkretnej lokalizacji lub personalizowanie gry dołączającej dla zapraszanych.

  1. Przy proponowaniu zaproszenia dołącz obiekt ExperienceInviteOptions z odpowiednimi danymi, które będą używane, gdy przyjaciel dołączy do gry, na przykład ID użytkownika nadawcy, ID odznaki, która zostanie przyznana przyjacielowi po dołączeniu, lub lokalizację współrzędnych, w której zostanie stworzony przyjaciel. Jeśli musisz połączyć wiele elementów danych, zakoduj je, używając JSONEncode().

    LocalScript - Zaproszenie 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)
    -- Konstruowanie opcji zaproszenia z danymi uruchamiania
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- Funkcja sprawdzająca, 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 przyjaciół, którzy dołączają do powiadomienia, sprawdź dane uruchamiania po stronie serwera za pomocą Player:GetJoinData(). Jeśli zakodowałeś wiele elementów danych w formacie JSON do prośby o zaproszenie, pamiętaj, aby je dekodować za pomocą JSONDecode().

    Script - Użycie danych uruchamiania 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("Brak danych uruchamiania!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. Jeśli dane uruchamiania istnieją, możesz je wykorzystać w szerokim zakresie scenariuszy projektowych, w tym:

    • Stworzyć przybyłego przyjaciela na początku trudnego toru przeszkód, który nadawca właśnie ukończył, w oparciu o lokalizację współrzędnych przekazaną w danych uruchamiania.
    • Sprawdzić, czy nadawca znajduje się w miejscu, na podstawie jego Player.UserId w danych uruchamiania, i teleportować postać przyjaciela w pobliżu postaci nadawcy.
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.