朋友推荐系统

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处。

朋友推荐系统鼓励现有玩家将新玩家带入您的游戏,从而提高玩家留存率和整体参与度。玩家可以通过 玩家邀请提示 或直接从默认的游戏内邀请菜单访问和分享推荐链接。

作为开发者,您可以创建自定义横幅来宣传您的奖励系统,并使用可分享的推荐链接来:

  • 跟踪哪些玩家成功邀请了其他玩家进入您的游戏。
  • 跟踪哪些玩家通过其他玩家的推荐链接邀请加入了您的游戏。
  • 为邀请者和被邀请者创建和分发奖励。
邀请者发送邀请
被邀请者加入游戏

要实现推荐系统,请 设置推荐事件 并在 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. 在 ReplicatedStorage 中设置一个 RemoteEvent,以创建一个远程事件,在收到推荐时与客户端进行通信。
  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. 在创作者中心,转到 创作 并选择您已设置推荐事件的游戏。
  2. 转到 参与度 ⟩ 推荐奖励。
  3. 点击 添加奖励详情。
  4. 在 推荐奖励 页面:
    1. 用代表您游戏的图像替换默认图标。
    2. 输入要在横幅上显示的奖励名称。
    3. 选择您希望向玩家展示横幅的开始和结束日期。
    4. 可选
      输入有关奖励的详细描述。
    5. 可选
      如果您想添加奖励限制,请输入奖励限制。例如,每个邀请者最多 3 个奖励。
  5. 点击 保存 以保存更改。
  6. 点击 发布 以使横幅对玩家可见。

您可以创建许多不同的横幅,但一次只能发布并显示一个横幅。确保发布的横幅准确描述您在 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)
-- 在数据存储中标记玩家为已推荐
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 是我们在美国及其他国家或地区的注册与未注册商标。