System zaproszeń przyjaciół

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


System poleceń znajomych zachęca istniejące gracze do przynoszenia nowych graczy do swojego doświadczenia, zwiększając retencję graczy i ogólne zaangażowanie. Gracze mogą uzyskać dostęp i dzielić się linkami polecenia z zaproszeń graczy lub bezpośrednio z menu zaproszeń w grze.

Jako rozwójca możesz używać tych współdzielnych linków do:

  • Śledź, którzy gracze z sukcesem zaprosili innych graczy do twojego doświadczenia.
  • Śledź, którzy gracze dołączyli do twojego doświadczenia za pośrednictwem zaproszenia do dołączenia poprzez link polecenia od innego gracza.
  • Twórz i rozdawaj nagrody zarówno dla zaproszonych, jak i zaproszonych.
Popup z zaproszeniem przyjaciół i nagrodami za polecenie przyjaciół będzie dostępny wczesnym 2025 r.

Aby zaimplementować system polecenia gracz, zorganizuj wydarzenie poleceniowe i utwórz nagrody za polecenie. Właściwość ReferredByPlayerId z wartości 2> Class.Player:GetJoinData()|GetJoin


function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Zorganizuj wydarzenie poleceniowe

Aby ustawić wydarzenie referencji:

  1. Ustaw RemoteEvent w ReplicatedStorage, aby utworzyć zdalne wydarzenie do komunikacji z klientem, gdy otrzymuje się odniesienie.
  2. Odzyskaj ID użytkownika zaprosiciela używając ReferredByPlayerId aby śledzić dołączenie gracza i zarządzać logiką referencji w twoim serwerowym skrypcie podczas wydarzenia Players.PlayerAdded .

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Utwórz lub uzyskaj zdarzeń zdalnych do przetwarzania odniesień
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funkcja, która zostaje wywołana, gdy gracz dołącza
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Sprawdź, czy gracz został zaproszony poprzez polecenie
if referredByPlayerId then
-- Zainicjuj wydarzenie poleceniowe dla klienta, przekazując ID zaproszającego
referrerEvent:FireClient(player, referredByPlayerId)
-- Dodatkowa logika dla nagradzania zaproszonych i zaproszonych może być dodaна tutaj
-- e.g., rewardReferrer(referredByPlayerId)
-- e.g., rewardInvitee(gracz)
end
end
-- Połącz funkcję z wydarzeniem PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Nagrody za referencje

Aby zachęcić do udziału, oferuj nagrody zarówno dla zaproszonych, jak i dla zaproszonych. Na przykład możesz dać zaproszonym nagrodę za doświadczenie lub walutę w grze w wymianie, gdy ich przyjaciel dołącza do doświadczenia poprzez łączyćpolecenia.


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Utwórz lub uzyskaj zdarzeń zdalnych do przetwarzania odniesień
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funkcja, która zostaje wywołana, gdy gracz dołącza
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Sprawdź, czy gracz został zaproszony poprzez polecenie
if referredByPlayerId then
-- Zainicjuj wydarzenie poleceniowe dla klienta, przekazując ID zaproszającego
referrerEvent:FireClient(player, referredByPlayerId)
-- Nagroda gościa
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Daj gościom nagrodę za zaproszenie
-- Przykład: referPlayer.leaderstats.Coins.Value (+100)
end
end
-- Nagroda gościa
function rewardInvitee(player)
-- Daj gościowi nagrodę
-- Przykład: gracz.leaderstats.WelcomeBonus.Value (+50)
end
end
end
-- Połącz funkcję z wydarzeniem PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Zarządzaj zapobieganiem nadużyć

Możesz zaimplementować zabezpieczenia, aby zapobiec graczom wykorzystywaniu systemu polecenia przyjaciół.

  • Oferuj jednorazowe nagrody, aby śledzić zaproszonych gości i upewnić się, że są nagradzani tylko raz.
  • Wprowadź okres regeneracji, zanim wysłannik może złożyć kolejne zgłoszenie.
  • Monitoruj nieprawid?owe dzia?anie i wdra?aj korektywne mierzenia, takie jak zbanowanie u?ytkowników lub anulowanie nagród.

-- Tabela do śledzenia graczy, którzy zostały już zgłoszeni
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Sprawdź, czy gracz został zaproszony i nie użył już referencji
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Zaznacz gracza jako odniesiony
referredPlayers[player.UserId] = true
-- Zachętuj zaproszonych i zaproszonych
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end