PolicyService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
PolicyService ayuda a consultar información sobre el cumplimiento de la política para jugadores alrededor del mundo según el rango de edad, la ubicación y el introducirde plataforma.
Resumen
Métodos
Determina si un usuario puede ver los recursos del proyecto de marca dentro de tu experiencia.
Devuelve información de política de devolución sobre un jugador basada en la ubicación geográfica, el grupo de edad y la plataforma.
Propiedades
Métodos
CanViewBrandProjectAsync
Determina si un usuario puede ver los recursos del proyecto de marca dentro de tu experiencia.Este método te permite trabajar con marcas para mostrar solo recursos comerciales a audiencias compatibles con las marcas.
Para usar CanViewBrandProjectAsync , debe usar una ID de proyecto de marca proporcionada por Roblox. Para solicitar una ID de proyecto de marca, contáctenos .
Debes llamar a este método en un script del lado del servidor y envolverlo en un pcall() .
Parámetros
El objeto Player que estás tratando de mostrar al proyecto de marca.
El ID del proyecto de marca proporcionado por Roblox. Representa todos los recursos asociados con un proyecto de marca.
Devuelve
Si el proyecto de marca se puede mostrar al usuario específico o no.
Muestras de código
You must call CanViewBrandProjectAsync from the server-side and then fire an event on the client. Calling this method from the client-side returns an error.
-- In ServerScriptService
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PolicyService = game:GetService("PolicyService")
-- Pre-created RemoteEvent in ReplicatedStorage
local RemoteEvent = ReplicatedStorage:WaitForChild("RemoteEvent")
local brandedAsset = ReplicatedStorage:WaitForChild("BrandedAsset")
local defaultAsset = Instance.new("Part")
Players.PlayerAdded:Connect(function(player)
-- PolicyService:CanViewBrandProjectAsync can only be called from the Server
local success, canView = pcall(function()
return PolicyService:CanViewBrandProjectAsync(player, "BRP-0123456789")
end)
if success and canView then
RemoteEvent:FireClient(player, brandedAsset)
else
RemoteEvent:FireClient(player, defaultAsset)
end
end)
-- In StarterPlayerScripts
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Pre-created RemoteEvent in ReplicatedStorage
local RemoteEvent = ReplicatedStorage:WaitForChild("RemoteEvent")
RemoteEvent.OnClientEvent:Connect(function(partToLoad)
local clonedPart = partToLoad:Clone()
clonedPart.Parent = workspace
end)
GetPolicyInfoForPlayerAsync
Devuelve información de política de devolución sobre un jugador basada en la ubicación geográfica, el grupo de edad y la plataforma. La estructura del diccionario devuelto es la siguiente:
<th>Tipo</th><th>Requerido para</th><th>Descripción</th></tr></thead><tbody><tr><td><code>Se permiten anuncios</code></td><td>Booleana</td><td>Cualquier experiencia que incluya <a href="../../../production/monetization/immersive-ads.md">anuncios inmersivos</a>.</td><td>Cuando <code>verdadero</code>, el jugador podría ver anuncios inmersivos dentro de una experiencia.</td></tr><tr><td><code>Están restringidos los artículos pagados aleatorios</code></td><td>Booleana</td><td>Cualquier experiencia que tenga artículos aleatorios pagados.</td><td>Cuando <code>verdadero</code>, el jugador no puede <b>interactuar</b> con generadores de artículos aleatorios pagados, ya sea a través de la moneda en experiencia comprada con Robux o Robux directamente.</td></tr><tr><td><code>Referencias de enlace externo permitidas</code></td><td>Matriz</td><td>Cualquier experiencia que haga referencia a enlaces externos.</td><td>Una lista de referencias de enlaces externos como enlaces de redes sociales, manijas o iconografía que un jugador está permitido ver.Los valores posibles incluyen <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> , y <code>"Guilded"</code> .</td></tr><tr><td><code>Se permite compartir contenido</code></td><td>Booleana</td><td>Cualquier experiencia que permita a los usuarios compartir contenido fuera de la plataforma.</td><td>Cuando <code>verdadero</code>, al jugador se le permite compartir contenido usando API que abren flujos de compartición externa como <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code> .</td></tr><tr><td><code>Es elegible para comprar suscripción</code></td><td>Booleana</td><td>Cualquier experiencia que quiera vender suscripciones.</td><td>Cuando <code>verdadero</code>, el jugador es elegible para comprar suscripciones dentro de una experiencia.</td></tr><tr><td><code>IsPaidItemTradingAllowed</code></td><td>Booleana</td><td>Cualquier experiencia que permita a los usuarios comprar artículos virtuales con los que pueden intercambiar con otros jugadores.</td><td>Cuando <code>verdadero</code>, el jugador puede intercambiar artículos virtuales que compró con moneda de experiencia o Robux.</td></tr><tr><td><code>Está sujeto a las políticas de China</code></td><td>Booleana</td><td>Cualquier experiencia que está disponible en China.</td><td>Cuando <code>verdadero</code>, una experiencia debe hacer cumplir los cambios de conformidad. Vea <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">este post del foro</a> para más información.</td></tr></tbody>
Nombre |
---|
Excepciones
Al igual que cualquier llamada asincrónica, este método debe ser envuelto en pcall() y manejado correctamente el error.Una lista completa de mensajes de error posibles y sus razones es:
<th>Razón</th></tr></thead><tbody><tr><td>La instancia no era un jugador</td><td>El parámetro <code>jugador</code> no es una instancia <code>Class.Player</code>.</td></tr><tr><td>Jugadores no encontrados</td><td>Error interno que falta el objeto <code>Class.Players</code>.</td></tr><tr><td>Este método no se puede llamar en el cliente para un jugador no local</td><td>Este método no se puede llamar en el cliente para una clase no local <code>Class.Player</code>.</td></tr><tr><td>GetPolicyInfoForPlayerAsync se llama demasiadas veces</td><td>Error interno que <code>GetPolicyInfoForPlayerAsync()</code> se llama más de 100 (configuración actual) veces antes de que volveruna respuesta HTTP.</td></tr></tbody>
Mensaje |
---|
Vea también LocalizationService:GetCountryRegionForPlayerAsync() que devuelve una cadena de código de país/región de acuerdo con la geolocalización del cliente del jugador.
Parámetros
Devuelve
Un diccionario que contiene información sobre la información de política del jugador solicitado; véase arriba para la estructura del diccionario.
Muestras de código
This code sample gets policy information for the local player and warns if they cannot interact with paid random item generators.
local PolicyService = game:GetService("PolicyService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local success, result = pcall(function()
return PolicyService:GetPolicyInfoForPlayerAsync(player)
end)
if not success then
warn("PolicyService error: " .. result)
elseif result.ArePaidRandomItemsRestricted then
warn("Player cannot interact with paid random item generators")
end