关于 roblox-analytics-liveops
面向 Roblox 开发者的分析与实时运营技能,涵盖服务器端事件记录、运行时配置、实验、徽章和通知,并介绍监测及更新游戏体验的运营模式。
主要功能
- 01服务器端分析事件记录
- 02运行时体验配置
- 03面向玩家的实验
- 04徽章与通知流程
- 05实时运营排期模式
- 06发布与指标监测
适用场景
- 01记录经济与进度事件
- 02通过玩家分组测试数值调整
- 03安排季节活动与商店轮换
- 04发布后监测留存率和性能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ el4cteo/ roblox-skills --skill roblox-analytics-liveops安装后在 Claude Code 中输入/roblox-analytics-liveops确认已加载。
详细介绍
分析与实时运营
分析事件(服务器端,AnalyticsService)
标准事件会自动为 Creator Hub 信息中心提供数据(经济、漏斗、进度、自定义)。Fire* 方法已弃用;请使用 Log* 系列方法。
--!strict
local AnalyticsService = game:GetService("AnalyticsService")
local Analytics = {}
-- Currency sources and sinks → Economy dashboard.
function Analytics.coinsEarned(player: Player, amount: number, balance: number, source: string)
AnalyticsService:LogEconomyEvent(
player,
Enum.AnalyticsEconomyFlowType.Source,
"Coins", -- currency type
amount,
balance, -- ending balance
Enum.AnalyticsEconomyTransactionType.Gameplay.Name, -- or a custom string like "QuestReward"
source -- item SKU / source id
)
end
function Analytics.itemBought(player: Player, price: number, balance: number, itemSku: string)
AnalyticsService:LogEconomyEvent(
player,
Enum.AnalyticsEconomyFlowType.Sink,
"Coins",
price,
balance,
Enum.AnalyticsEconomyTransactionType.Shop.Name,
itemSku
)
end
-- First-session tutorial funnel (steps must be sequential, 1-based).
function Analytics.onboarding(player: Player, step: number, stepName: string)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step, stepName)
end
-- Recurring funnels (e.g. shop purchase flow); share a session id per attempt.
function Analytics.shopFunnel(player: Player, sessionId: string, step: number, stepName: string)
AnalyticsService:LogFunnelStepEvent(player, "ShopPurchase", sessionId, step, stepName)
end
-- Level progression.
function Analytics.levelStarted(player: Player, level: number)
AnalyticsService:LogProgressionStartEvent(player, "MainPath", level, `Level{level}`)
end
function Analytics.levelCompleted(player: Player, level: number)
AnalyticsService:LogProgressionCompleteEvent(player, "MainPath", level, `Level{level}`)
end
-- Anything else: numeric custom events, sliced by up to 3 custom fields.
function Analytics.bossKilled(player: Player, bossId: string, seconds: number)
AnalyticsService:LogCustomEvent(player, "BossKillTime", seconds, {
[Enum.AnalyticsCustomFieldKeys.CustomField01.Name] = bossId,
})
end
return Analytics
指南:
- 从服务器记录事件(这样更可信,也是这些 API 的要求)。事件名称和自定义字段的值应保持低基数(使用类别 ID,而非自由文本或用户 ID)。
- 经济事件需要准确的
endingBalance;请记录每个收入来源和支出项,否则信息中心会产生误导。 - 在开发功能前设计好漏斗(引导步骤、商店流程、首次购买)。
AnalyticsService:GetPlayerSegmentsAsync(player)会在运行时返回细分信息(付费者状态、玩家在你的游戏中的账号年龄……),可用于定制引导和优惠;请使用pcall调用。
体验配置(无需重新发布即可更新实时值)
在 Creator Hub(或 Open Cloud)中创建配置(余额数值、功能标志、事件开关等),并在服务器上使用 ConfigService 读取。发布的更改会应用到正在运行的服务器。
--!strict
local ConfigService = game:GetService("ConfigService")
local ok, snapshot = pcall(function()
return ConfigService:GetConfigAsync()
end)
local function get(key: string, default: any): any
if not ok then
return default
end
local value = snapshot:GetValue(key)
return if value == nil then default else value
end
local bossHealth = get("bossHealth", 500)
print("boss health", bossHealth)
if ok then
snapshot.UpdateAvailable:Connect(function()
snapshot:Refresh() -- apply newly published values at a safe moment (e.g. between rounds)
print("new boss health", get("bossHealth", 500))
end)
end
- 始终编写默认值:配置可能加载失败。
- 实验/定向配置会针对每位玩家进行评估:使用
ConfigService:GetConfigForPlayerAsync(player)(GetConfigAsync会忽略定向设置)。实验运行 14–60 天,最多包含两个变体和一个对照组;请选择目标指标,并注意最小可检测效应。通过 Creator Hub 或 Open Cloud 实验 API(roblox-open-cloud)管理。Early Harm Detection 会在前 24 小时内近乎实时地显示游戏时长、付费者转化率和 ARPU(每 5 分钟更新一次),以便尽早停止有害变体。 - 在 Studio 中测试:
ConfigService:SetTestingValue(key, value)/ClearTestingValue。
徽章
BadgeService:AwardBadgeAsync(userId, badgeId)(在服务器上使用 pcall;如果 UserHasBadgeAsync 或 CheckUserBadgesAsync 已表明玩家拥有徽章,则跳过)。AwardBadge/UserHasBadge 已弃用。徽章是很好的引导和进度里程碑,也会显示在玩家的个人资料中。
体验通知(重新吸引玩家)
- 在合适的时机邀请玩家选择接收通知:先调用
ExperienceNotificationService:CanPromptOptInAsync(),再调用PromptOptIn()(客户端)。 - 在 Creator Hub 中创建通知文本;通过 Open Cloud 从你的后端发送通知:
POST /cloud/v2/users/{userId}/notifications(例如“你的作物成熟了”“活动现在开始”)。通知有频率限制,且需经过审核;请只发送玩家认为有价值的通知。
实时运营模式
- 限时活动:在配置中使用 UTC 时间戳设置计划(
eventStart、eventEnd);在服务器上与os.time()比较;通过属性广播状态;客户端使用workspace:GetServerTimeNow()显示倒计时。 - 赛季通行证/轮换商店:每日商店的轮换种子 =
math.floor(os.time() / 86400);在玩家数据中按赛季 ID 存储已领取的奖励。 - 每日奖励/连续登录:存储
lastClaimDay(UTC 日期编号)和连续登录次数;在服务器上发放奖励。 - 将内容置于配置标志之后,先通过小规模推出/实验进行验证,再全面推出至 100%。
- 每次发布后查看 Creator Hub 信息中心:留存率(D1/D7/D30)、会话时长、转化率、ARPPU、漏斗以及性能(崩溃率、FPS、内存)。自 2026 年 10 月 12 日起,发现页的展示量/游玩量采用新的衡量流程(数量更高,游玩完成率略低)——不要将这一变化解读为实际变动。
- 发布前:在发布流程中邀请最多 10 位好友或群组成员作为早期测试者。
- 玩家支持(早期访问,年龄验证为 13 岁以上):添加游戏内“报告问题”按钮,调用
SocialService:PromptFeedbackSubmissionAsync({ FeedbackType = Enum.FeedbackType.PlayerSupport })(客户端,使用pcall);报告会连同设备信息和截图显示在 Creator Hub → Audience → Player Support 中。
Related skills
roblox-monetization (offers, pricing), roblox-data-stores (streaks, season data),
roblox-open-cloud (configs/experiments/notifications APIs), roblox-game-systems.
评论
支持 Markdown