PolicyService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
PolicyService ajuda você a obter informações sobre a conformidade da política para os jogadores em todo o mundo com base no alcance de idade, localização e tipo de plataforma.
Podsumowanie
Metody
Determina se um usuário pode ver recursos de projeto de marca dentro de sua experiência.
Retorna informações de política sobre um jogador com base em geolocalização, grupo de idade e plataforma.
Właściwości
Metody
CanViewBrandProjectAsync
Determina se um usuário pode ver recursos de projeto de marca dentro de sua experiência. Este método permite que você trabalhe com marcas para mostrar apenas recursos comerciais para públicos de conformidade com a marca.
Para usar CanViewBrandProjectAsync, você deve usar um ID de projeto de marca fornecido pela Roblox. Para solicitar um ID de projeto de marca, entre em contato conosco.
Você deve chamar este método em um Script do lado do servidor e envoltá-lo em um pcall() .
Parametry
O objeto Player que você está tentando mostrar o projeto de marca.
O ID de projeto de marca fornecido pela Roblox. Representa todos os recursos associados a um projeto de marca.
Zwroty
Se o projeto da marca pode ou não ser mostrado ao usuário específico.
Przykłady kodu
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
Retorna informações de política sobre um jogador com base em geolocalização, grupo de idade e plataforma. A estrutura do dicionário retornado é a seguinte:
<tbody><tr><td><code>AdsPermitidos</code></td><td>Booleano</td><td>Qualquer experiência que inclua <a href="../../../production/monetization/immersive-ads.md">anúncios imersivos</a>.</td><td>Quando <code>verdadeiro</code>, o jogador pode ver anúncios imersivos dentro de uma experiência.</td></tr><tr><td><code>ArePaidRandomItemsRestricted</code></td><td>Booleano</td><td>Qualquer experiência que tenha pago itens aleatórios.</td><td>Quando <code>verdadeiro</code>, o jogador pode <b>não</b> interagir com geradores de itens aleatórios pagos, via moeda de experiência comprada com Robux ou diretamente.</td></tr><tr><td><code>PermitidoReferênciasExternas</code></td><td>Matriz</td><td>Qualquer experiência que referencie links externos.</td><td>Uma lista de referências de links externos, como links de mídia social, alças ou iconografia que um jogador é permitido ver. Os valores possíveis incluem "Discord" , "Facebook" , "Twitch" , "YouTube" , "X" e "</td></tr><tr><td><code>IsContentSharingEnabled</code></td><td>Booleano</td><td>Qualquer experiência que permita que os usuários compartilhem conteúdo fora da plataforma.</td><td>Quando <code>verdadeiro</code>, o jogador é permitido compartilhar conteúdo usando APIs que abrem fluxos de compartilhamento externos, como <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code>.</td></tr><tr><td><code>IsEligibleToPurchaseSubscription</code></td><td>Booleano</td><td>Qualquer experiência que queira vender subscrições.</td><td>Quando <code>verdadeiro</code>, o jogador é elegível para comprar subscrições dentro de uma experiência.</td></tr><tr><td><code>IsPaidItemTradingEnabled</code></td><td>Booleano</td><td>Qualquer experiência que permita que os usuários comprem itens virtuais que eles podem negociar com outros jogadores.</td><td>Quando <code>verdadeiro</code>, o jogador pode trocar itens virtuais que eles compraram com moedas na experiência ou Robux.</td></tr><tr><td><code>Políticas de IssoSujeitoChina</code></td><td>Booleano</td><td>Qualquer experiência disponível na China.</td><td>Quando verdadeiro, uma experiência deve impor alterações de conformidade. Veja este post do fórum para mais informações.</td></tr></tbody>
Nome | Tipo | Requerido para | Descrição |
---|
Exceções
Like any async call, this method needs to be wrapped in pcall() and error-handled properly. A full list of possible error messages and their reasons is:
<tbody><tr><td>A instância não era um jogador</td><td>O parâmetro <code>player</code> não é uma instância <code>Class.Player</code>.</td></tr><tr><td>Jogadores não encontrados</td><td>Erro interno que o objeto <code>Class.Players</code> está faltando.</td></tr><tr><td>Este método não pode ser chamado no cliente para um jogador não local</td><td>Este método não pode ser chamado no cliente para um <code>Class.Player</code> não local.</td></tr><tr><td>GetPolicyInfoForPlayerAsync é chamado muitas vezes</td><td>Erro interno que <code>GetPolicyInfoForPlayerAsync()</code> é chamado mais de 100 vezes (Configuração atual) antes que uma resposta HTTP seja retornada.</td></tr></tbody>
Mensagem | Motivo |
---|
Veja também LocalizationService:GetCountryRegionForPlayerAsync() , que retorna uma string de código de país/região de acordo com a geolocalização do cliente.
Parametry
Zwroty
Um dicionário contendo informações sobre a política de informações do jogador solicitado; veja acima para a estrutura do dicionário.
Przykłady kodu
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