Aprender
Clase de motor
RecommendationService
No creable
Servicio

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.


Resumen
Métodos
GenerateItemListAsync(generateRecommendationItemListRequest: Dictionary):RecommendationPages
LogActionEvent(actionType: Enum.RecommendationActionType,itemId: string,tracingId: string,actionEventDetails: Dictionary):()
LogImpressionEvent(impressionType: Enum.RecommendationImpressionType,itemId: string,tracingId: string,impressionEventDetails: Dictionary):()
RegisterItemAsync(player: Player,registerRecommendationItemsRequest: Dictionary):Dictionary
UpdateItemAsync(updateRecommendationItemRequest: Dictionary):()
Miembros heredados

Referencia API
Métodos
GenerateItemListAsync
Proporciona
Capacidades: Basic
RecommendationService:GenerateItemListAsync(generateRecommendationItemListRequest:Dictionary):RecommendationPages
Parámetros
generateRecommendationItemListRequest:Dictionary
Muestras de código
Generar una lista de artículos recomendados
local RecommendationService = game:GetService("RecommendationService")
-- Define la solicitud para generar una lista de recomendaciones
local request: GenerateRecommendationItemListRequest = {
ConfigName = "MaximizeEngagement",
LocationId = "Lobby",
PageSize = 10
-- NOTA: Descomentar y establecer CustomContexts.UserId para el script del servidor.
-- No es necesario establecerlo para el script local.
-- CustomContexts = {
-- ["UserId"] = tostring(player.UserId),
-- }
}
-- Llama a GenerateItemListAsync para obtener las páginas de recomendaciones
local success, recommendationPages = pcall(function()
return RecommendationService:GenerateItemListAsync(request)
end)

GetRecommendationItemAsync
Proporciona
Capacidades: Basic
RecommendationService:GetRecommendationItemAsync(itemId:string):Dictionary
Parámetros
itemId:string
Devuelve
Muestras de código
Obtener un único ítem de recomendación
local RecommendationService = game:GetService("RecommendationService")
local function getItem(itemId)
local success, item = pcall(function()
return RecommendationService:GetRecommendationItemAsync(itemId)
end)
if success and item then
print("Ítem recuperado con éxito: " .. item.ItemId)
print(" ReferenceId: " .. item.ReferenceId)
-- El TracingId estará vacío al obtener un único ítem directamente
if item.Creator then
print(" CreatorId: " .. tostring(item.Creator.CreatorId))
end
if item.CustomTags then
print(" CustomTags: ")
for _, customTag in ipairs(item.CustomTags) do
print(" " .. customTag)
end
end
else
warn("No se pudo recuperar el ítem: " .. itemId .. ". Error: " .. tostring(item))
end
end
-- Ejemplo de uso (requiere un itemId válido)
-- getItem("some-item-id")

LogActionEvent
Capacidades: Basic
RecommendationService:LogActionEvent(
actionType:Enum.RecommendationActionType, itemId:string, tracingId:string, actionEventDetails:Dictionary
):()
Parámetros
itemId:string
tracingId:string
actionEventDetails:Dictionary
Valor predeterminado: "nil"
Devuelve
()
Muestras de código
Registro de una acción de usuario
local RecommendationService = game:GetService("RecommendationService")
local function logLike(itemId, tracingId)
local detail: RecommendationActionEventDetails = {
ReactionType = "Me gusta",
Weight = 1.0
}
RecommendationService:LogActionEvent(Enum.RecommendationActionType.AddReaction, itemId, tracingId, detail)
print("Acción 'Me gusta' registrada para el ítem: " .. itemId)
end
-- Ejemplo de uso (requiere un itemId y tracingId válidos de GenerateItemListAsync)
-- logLike("item-id", "tracing-id")

LogImpressionEvent
Capacidades: Basic
RecommendationService:LogImpressionEvent(
impressionType:Enum.RecommendationImpressionType, itemId:string, tracingId:string, impressionEventDetails:Dictionary
):()
Parámetros
itemId:string
tracingId:string
impressionEventDetails:Dictionary
Valor predeterminado: "nil"
Devuelve
()
Muestras de código
Registrar una impresión de usuario
local RecommendationService = game:GetService("RecommendationService")
local function logView(itemId, tracingId)
local detail: RecommendationImpressionEventDetails = {
Duration = 5, -- El usuario vio durante 5 segundos
ItemPosition = 1,
DepartureIntent = Enum.RecommendationDepartureIntent.Neutral
}
RecommendationService:LogImpressionEvent(Enum.RecommendationImpressionType.View, itemId, tracingId, detail)
print("Impresión 'Ver' registrada para el artículo: " .. itemId)
end
-- Ejemplo de uso (requiere un itemId y un tracingId válidos de GenerateItemListAsync)
-- logView("some-item-id", "some-tracing-id")

LogPreferenceEvent
Capacidades: Basic
RecommendationService:LogPreferenceEvent(
preferenceType:Enum.RecommendationPreferenceType, targetType:Enum.RecommendationPreferenceTargetType, targetId:string, tracingId:string, itemId:string
):()
Parámetros
targetId:string
tracingId:string
itemId:string
Devuelve
()

RegisterItemAsync
Proporciona
Capacidades: Basic
RecommendationService:RegisterItemAsync(
player:Player, registerRecommendationItemsRequest:Dictionary
Parámetros
player:Player
registerRecommendationItemsRequest:Dictionary
Devuelve
Muestras de código
Registrar un nuevo artículo
local RecommendationService = game:GetService("RecommendationService")
local storage = game:GetService("ReplicatedStorage")
-- Supongamos que existe una RemoteFunction llamada 'RegisterItemRemote' en ReplicatedStorage
local registerItemRemote = storage.RegisterItemRemote
registerItemRemote.OnServerInvoke = function(player, refId)
local request: RegisterRecommendationItemRequest = {
ContentType = Enum.RecommendationItemContentType.Dynamic,
ReferenceId = refId,
Duration = 60,
Visibility = Enum.RecommendationItemVisibility.Public,
CustomTags = {"locale:es-es", "seasonal:summer"},
Attributes = {
{
AssetId = 123,
Description = "video de prueba",
TrimStartTime = 0,
TrimEndTime = 10.5
}
}
}
local success, response = pcall(function()
return RecommendationService:RegisterItemAsync(player, request)
end)
if success and response then
print("Artículo registrado con éxito. ItemId: " .. response.ItemId)
return response.ItemId
else
warn("Error al registrar el artículo. Error: " .. tostring(response))
return nil
end
end

RemoveItemAsync
Proporciona
Capacidades: Basic
RecommendationService:RemoveItemAsync(itemId:string):()
Parámetros
itemId:string
Devuelve
()
Muestras de código
Eliminar un artículo
local RecommendationService = game:GetService("RecommendationService")
local function removeItem(itemId)
local success, err = pcall(function()
return RecommendationService:RemoveItemAsync(itemId)
end)
if success then
print("Artículo eliminado con éxito: " .. itemId)
else
warn("Error al eliminar el artículo: " .. itemId .. ". Error: " .. tostring(err))
end
end

UpdateItemAsync
Proporciona
Capacidades: Basic
RecommendationService:UpdateItemAsync(updateRecommendationItemRequest:Dictionary):()
Parámetros
updateRecommendationItemRequest:Dictionary
Devuelve
()
Muestras de código
Actualizar un elemento
local RecommendationService = game:GetService("RecommendationService")
local function updateItem(itemId)
-- Solo incluye los campos que deseas actualizar
local request: UpdateRecommendationItemRequest = {
ItemId = itemId,
Visibility = Enum.RecommendationItemVisibility.Private,
-- NOTA: toda la lista de CustomTags será reemplazada con esta nueva lista
CustomTags = {"updated-tag"}
}
local success, err = pcall(function()
return RecommendationService:UpdateItemAsync(request)
end)
if success then
print("Elemento actualizado con éxito: " .. itemId)
else
warn("Error al actualizar el elemento: " .. itemId .. ". Error: " .. tostring(err))
end
end
-- Ejemplo de uso
-- updateItem("some-item-id-to-update")

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.