친구 추천 시스템

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

친구 추천 시스템은 기존 플레이어가 새로운 플레이어를 게임에 초대하도록 장려하여 플레이어 유지율과 전반적인 참여도를 높입니다. 플레이어는 플레이어 초대 프롬프트 또는 기본 게임 내 초대 메뉴에서 추천 링크에 접근하고 공유할 수 있습니다.

개발자로서, 보상 시스템을 광고하기 위해 맞춤형 배너를 만들고 공유 가능한 추천 링크를 사용하여:

  • 어떤 플레이어가 다른 플레이어를 게임에 성공적으로 초대했는지 추적합니다.
  • 어떤 플레이어가 다른 플레이어의 추천 링크 초대를 통해 게임에 가입했는지 추적합니다.
  • 초대자와 초대받은 사람 모두에게 보상을 생성하고 배포합니다.
초대자가 초대를 보냅니다
초대받은 사람이 게임에 가입합니다

추천 시스템을 구현하려면 추천 이벤트 설정추천 보상 생성을 Studio에서 수행하세요. GetJoinData()ReferredByPlayerId 속성은 모든 유형의 초대에 대해 자동으로 채워지며, 추천 플레이어의 사용자 ID에 접근할 수 있습니다. 그런 다음 Players.PlayerAdded 이벤트에서 이 데이터에 접근하여 초대자를 식별하고 초대자와 초대받은 사람 모두에게 보상을 부여할 수 있습니다.

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

플레이어가 보상 시스템을 이해할 수 있도록, 친구 초대 모달 상단에 맞춤형 보상 배너를 구현하여 그들이 얻을 수 있는 보상에 대한 세부정보를 보여주세요.

추천 이벤트 설정

추천 이벤트를 설정하려면:

  1. ReplicatedStorageRemoteEvent를 설정하여 추천이 수신될 때 클라이언트와 통신하는 원격 이벤트를 생성합니다.
  2. ReferredByPlayerId를 사용하여 초대자의 사용자 ID를 검색하여 플레이어 가입을 추적하고 Players.PlayerAdded 이벤트 중 서버 측 스크립트에서 추천 로직을 처리합니다.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 추천 처리를 위한 RemoteEvent 생성 또는 가져오기
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- 플레이어가 가입할 때 트리거되는 함수
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 플레이어가 추천을 통해 초대되었는지 확인
if referredByPlayerId and referredByPlayerId ~= 0 then
-- 초대자의 ID를 전달하며 클라이언트에 추천 이벤트를 발사
referrerEvent:FireClient(player, referredByPlayerId)
-- 초대자와 초대받은 사람에게 보상을 주는 추가 로직을 여기에 추가할 수 있습니다
-- 예: rewardReferrer(referredByPlayerId)
-- 예: rewardInvitee(player)
end
end
-- PlayerAdded 이벤트에 함수를 연결
Players.PlayerAdded:Connect(onPlayerAdded)

추천 보상 부여

참여를 장려하기 위해 초대자와 초대받은 사람 모두에게 보상을 부여하세요. 예를 들어, 친구가 게임에 가입할 때 초대자에게 배지나 게임 내 통화를 제공하고, 초대받은 사람에게 추천 링크를 통해 게임에 가입한 것에 대한 환영 보상을 제공할 수 있습니다.

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 추천 처리를 위한 RemoteEvent 생성 또는 가져오기
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- 플레이어가 가입할 때 트리거되는 함수
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 플레이어가 추천을 통해 초대되었는지 확인
if referredByPlayerId and referredByPlayerId ~= 0 then
-- 초대자의 ID를 전달하며 클라이언트에 추천 이벤트를 발사
referrerEvent:FireClient(player, referredByPlayerId)
-- 초대자에게 보상 부여
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- 초대자에게 보상 부여
-- 예: referrerPlayer.leaderstats.Coins.Value += 100
end
end
-- 초대받은 사람에게 보상 부여
function rewardInvitee(player)
-- 초대받은 사람에게 보상 부여
-- 예: player.leaderstats.WelcomeBonus.Value += 50
end
end
end
-- PlayerAdded 이벤트에 함수를 연결
Players.PlayerAdded:Connect(onPlayerAdded)

보상 배너 생성

보상 배너는 사용자에게 친구를 초대하여 얻을 수 있는 보상에 대한 세부정보를 보여줌으로써 게임에 초대하도록 장려합니다. 이러한 배너는 친구 초대 모달 상단에 표시됩니다.

맞춤형 보상 배너를 생성하려면:

  1. Creator Hub에서 Creations로 이동하여 추천 이벤트를 설정한 게임을 선택합니다.
  2. EngagementReferral Rewards로 이동합니다.
  3. Add Reward Details를 클릭합니다.
  4. Referral Rewards 페이지에서:
    1. 기본 아이콘을 게임을 나타내는 이미지로 교체합니다.
    2. 배너에 표시할 보상 이름을 입력합니다.
    3. 배너를 플레이어에게 표시할 시작 및 종료 날짜를 선택합니다.
    4. OPTIONAL
      보상에 대한 세부정보를 포함한 설명을 입력합니다.
    5. OPTIONAL
      보상 제한을 추가하려면 보상 한도를 입력합니다. 예를 들어, 초대자당 최대 3개의 보상 한도.
  5. Save를 클릭하여 변경 사항을 저장합니다.
  6. Publish를 클릭하여 배너를 플레이어에게 표시합니다.

여러 가지 배너를 생성할 수 있지만, 한 번에 하나의 배너만 게시되고 표시될 수 있습니다. 게시된 배너가 Studio에서 구현한 추천 시스템을 정확하게 설명하는지 확인하세요.



추천 시스템 남용 방지

플레이어가 친구 추천 시스템을 악용하지 않도록 방지 조치를 구현할 수 있습니다.

  • 초대받은 사람을 추적하고 한 번만 보상을 받을 수 있도록 일회성 보상을 제공합니다.
  • 초대자가 다른 추천을 제출하기 전에 쿨다운 기간을 도입합니다.
  • 비정상적인 활동을 모니터링하고 사용자 차단 또는 보상 취소와 같은 시정 조치를 구현합니다.
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- 추천을 위한 데이터 저장소 생성 또는 가져오기
local referralDataStore = DataStoreService:GetDataStore("ReferralDataStore")
-- 추천을 확인하고 표시하는 함수
local function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 플레이어의 추천 데이터 로드
local success, alreadyReferred = pcall(function()
return referralDataStore:GetAsync(tostring(player.UserId))
end)
if not success then
warn("플레이어의 추천 데이터를 가져오는 데 실패했습니다:", player.UserId)
return
end
if referredByPlayerId and referredByPlayerId ~= 0 and not alreadyReferred then
-- 초대자와 초대받은 사람에게 보상 부여
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
-- DataStore에서 플레이어를 추천된 것으로 표시
local saveSuccess, err = pcall(function()
referralDataStore:SetAsync(tostring(player.UserId), true)
end)
if not saveSuccess then
warn("플레이어의 추천 상태를 저장하는 데 실패했습니다:", player.UserId, err)
end
end
end
-- 플레이어가 가입할 때 함수 연결
Players.PlayerAdded:Connect(onPlayerAdded)

자주 묻는 질문

어떤 게임이 이 기능을 사용할 수 있나요?

이 기능은 최소 하루 이상 라이브 상태인 게임에 열려 있으며, 커뮤니티 기준을 위반하지 않아야 합니다.

어떤 플레이어가 추천을 통해 혜택을 받을 수 있나요?

모든 플레이어가 추천을 통해 보상을 받을 수 있습니다.

초대는 Roblox의 친구에게만 제한되나요?

아니요, 플레이어는 Roblox 플랫폼에서 아직 연결되지 않은 친구에게도 초대를 보낼 수 있습니다.

추천 링크는 만료되나요?

링크는 만료되지 않습니다.

이 기능을 최대한 활용하려면 어떻게 해야 하나요?

게임 내 버튼을 추가하여 추천 시스템을 광고하고 플레이어가 추천을 활용하도록 장려할 수 있습니다. 그런 다음 버튼에 설명적인 제목을 부여하고 버튼 클릭 이벤트를 친구 초대 모달에 연결하여 플레이어가 보상 배너를 볼 수 있도록 합니다.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.