分析服务 是一组方法,可以让开发人员跟踪用户与他们的体验互动的方式,具体是玩家进度、经验经济、管道和自定义事件。
概要
方法
记录用于跟踪用户在体验中的自定义 метри的事件。
- LogEconomyEvent(player : Player,flowType : Enum.AnalyticsEconomyFlowType,currencyType : string,amount : number,endingBalance : number,transactionType : string,itemSku : string,customFields : Dictionary):()
记录用于跟踪体验相关玩家操作的事件。
- LogFunnelStepEvent(player : Player,funnelName : string,funnelSessionId : string,step : number,stepName : string,customFields : Dictionary):()
记录用于跟踪用户在预定的管道中步行的用户操作的事件。
- LogOnboardingFunnelStepEvent(player : Player,step : number,stepName : string,customFields : Dictionary):()
记录用于跟踪用户通过启动通道步骤的用户操作的事件。
- LogProgressionCompleteEvent(player : Player,progressionPathName : string,level : number,levelName : string,customFields : Dictionary):()
记录用户完成等级尝试时的事件。
- LogProgressionEvent(player : Player,progressionPathName : string,status : Enum.AnalyticsProgressionType,level : number,levelName : string,customFields : Dictionary):()
记录用户开始、完成或失败等级尝试时的事件。
- LogProgressionFailEvent(player : Player,progressionPathName : string,level : number,levelName : string,customFields : Dictionary):()
记录用户在尝试等级时失败的事件。
- LogProgressionStartEvent(player : Player,progressionPathName : string,level : number,levelName : string,customFields : Dictionary):()
记录用户开始等级尝试时的事件。
属性
方法
LogCustomEvent
记录用于跟踪用户在体验中的自定义 метри的事件。了解更多信息,请参阅自定义事件。
参数
触发事件的用户。
自定义事件的名称。
在聚合中使用的事件的值。
可选的自定义字段词典,可在 Roblox 提供的图表中提供分析。只有特定的键,由 Enum.AnalyticsCustomFieldKeys 提供,才会用于这些分析。每个体验的三个自定义字段的值的独特组合限制为 8,000 个。
返回
代码示例
This example uses AnalyticsService:LogCustomEvent() to log two custom events: MissionStarted and MissionCompletedDuration.
local AnalyticsService = game:GetService("AnalyticsService")
-- Log when the mission starts
AnalyticsService:LogCustomEvent(
player,
"MissionStarted" -- Custom event name
)
-- Log when the mission is completed with the time it took
AnalyticsService:LogCustomEvent(
player,
"MissionCompletedDuration", -- Custom event name
120 -- Event value used in aggregation
)
LogEconomyEvent
记录用于跟踪体验相关玩家操作的事件。
参数
触发事件的用户。
应该使用 Enum.AnalyticsEconomyFlowType 指定货币流向的方向。
添加或移除货币的名称,例如 "gold" , "gems" , 或 "energy" .每个体验仅限于 5 种独特的货币类型。
添加或移除的货币数量。这个值总是要正的。
货币添加或移除后,用户的余额。此值应始终大于或等于 0。
发生的交易类型。虽然您可以使用任何交易类型,但建议使用 Enum.AnalyticsEconomyTransactionType 从中提供的类型,例如 "IAP" 或 "ContextualPurchase" 来启用 Roblox 工具和图表的未来洞察力。
因为该字段类型是字符串,你需要传递枚举的 Name 值。例如 Enum.AnalyticsEconomyTransactionType.IAP.Name .
每次体验限于 20 种独特类型。
可选购买物品或包的 SKU。这是购买的物品的唯一标识。每个体验限于 100 个独特的 SKU。
可选的自定义字段词典,可在 Roblox 提供的图表中提供分析。只有特定的键,由 Enum.AnalyticsCustomFieldKeys 提供,才会用于这些分析。每个体验的三个自定义字段的值的独特组合限制为 8,000 个。
返回
代码示例
以下示例跟踪 Robux 购买 1000 枚硬币包的交易,使用 IAP(应用内购买)交易类型。注意提供的项目名称在与以前的样本进行比较时作为可选参数。
local AnalyticsService = game:GetService("AnalyticsService")
AnalyticsService:LogEconomyEvent(
player,
Enum.AnalyticsEconomyFlowType.Source,
"Coins",
1000, -- 包装中的多少枚硬币
1020, -- 交易后的余额
Enum.AnalyticsEconomyTransactionType.IAP.Name,
"1000CoinBundle" -- 硬币包的唯一标识符
)
LogFunnelStepEvent
记录用于跟踪用户在预定的管道中步行的用户操作的事件。漏斗分析只会考虑漏斗会话的第一步中用户和事件值。
参数
触发事件的用户。
漏斗的名称。这应该与漏斗中的所有步骤相同。每个体验限制为 10 个独特漏斗。
可选独特标识符为漏斗会话。这应该与漏斗中的所有步骤相同。
请注意,此字段仅适用于 重复 的通道,例如购买流通道或物品升级通道。如果您没有自然通道会话标识符,建议使用 HttpService:GenerateGUID() 。
漏斗中的步骤数。这应该是每个步骤在漏斗中唯一的。所有漏斗都从步骤 1 开始。限于步骤 1-100。
同一用户在同一个漏斗会话中重复步骤,或当 funnelSessionId 被忽略时,将忽略nil。
请注意,如果任何步骤被跳过,中间步骤将被视为已完成。
漏斗中步骤的可选名称。该字段仅用于在 Roblox 提供的图表中显示目的。
可选的自定义字段词典,可在 Roblox 提供的图表中提供分析。只有特定的键,由 Enum.AnalyticsCustomFieldKeys 提供,才会用于这些分析。每个体验的三个自定义字段的值的独特组合限制为 8,000 个。
返回
代码示例
以下示例跟踪一些基本事件,每个用户开始从“军械库”商店购买物品的过程。注意使用 funnelSessionId 来区分不同用户打开商店的不同会话。
local AnalyticsService = game:GetService("AnalyticsService")
local HttpService = game:GetService("HttpService")
funnelSessionId = HttpService:GenerateGUID()
-- 当用户打开商店时记录
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- 用于将步骤组合在一起的通道名称
funnelSessionId, -- 此独特支付会话的漏斗会话ID
1, -- 步数
"Opened Store" -- 步的名称
)
-- 当用户查看物品时记录
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- 用于将步骤组合在一起的通道名称
funnelSessionId, -- 此独特支付会话的漏斗会话ID
2, -- 步数
"Viewed Item" -- 步的名称
)
-- 当用户查看添加到购物车时记录
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- 用于将步骤组合在一起的通道名称
funnelSessionId, -- 此独特支付会话的漏斗会话ID
3, -- 步数
"Added to Cart" -- 步的名称
)
LogOnboardingFunnelStepEvent
记录用于跟踪用户通过启动通道步骤的用户操作的事件。漏斗分析只会考虑漏斗会话的第一步中用户和事件值。
参数
触发事件的用户。
漏斗中的步骤数。这应该是每个步骤在漏斗中唯一的。所有漏斗都从步骤 1 开始。限于步骤 1-100。
请注意,如果任何步骤被跳过,中间步骤将被视为已完成。
漏斗中步骤的可选名称。该字段仅用于在 Roblox 提供的图表中显示目的。
可选的自定义字段词典,可在 Roblox 提供的图表中提供分析。只有特定的键,由 Enum.AnalyticsCustomFieldKeys 提供,才会用于这些分析。每个体验的三个自定义字段的值的独特组合限制为 8,000 个。
返回
代码示例
以下示例展示了如何记录入职管道的两个步骤。集成通道通常会将玩家介绍到游戏的核心循环。
local AnalyticsService = game:GetService("AnalyticsService")
-- 记录FTUE的第一步
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- 步数
"Joined Game" -- 步的名称
)
-- 记录FTUE的第二步
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
2, -- 步数
"Choose Class" -- 步的名称
)
LogProgressionCompleteEvent
记录用户完成等级尝试时的事件。该事件目前在任何 Roblox 提供的图表上不显示。
参数
触发事件的玩家。
返回
LogProgressionEvent
记录用户开始、完成或失败等级尝试时的事件。该事件目前在任何 Roblox 提供的图表中均未显示。
参数
触发事件的玩家。
返回
LogProgressionFailEvent
记录用户在等级尝试失败时发生的事件。该事件目前在任何 Roblox 提供的图表中都不显示。
参数
触发事件的用户。
返回
LogProgressionStartEvent
记录用户开始等级尝试时的事件。该事件目前在任何 Roblox 提供的图表上不显示。
参数
触发事件的玩家。