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 pomaga ci zapytać o zgodność z polityką informacji dotyczące graczy na całym świecie w zależności od przedziału wiekowego, lokalizacji i wpisywaćplatformy.
Podsumowanie
Metody
Określa, czy użytkownik może zobaczyć zasoby projektu marki w twoim doświadczeniu.
Zwraca informacje o polityce dotyczące gracza na podstawie lokalizacji geograficznej, grupawiekowej i platforma.
Właściwości
Metody
CanViewBrandProjectAsync
Określa, czy użytkownik może zobaczyć zasoby projektu marki w twoim doświadczeniu.Ta metoda pozwala pracować z markami, aby wyświetlać tylko komercyjne zasoby dla zgodnych z marką odbiorców.
Aby użyć CanViewBrandProjectAsync, musisz użyć ID projektu marki dostarczonego przez Roblox. Aby poprosić o ID projektu marki, skontaktuj się z nami .
Musisz wywołać tę metodę na stronie serwera w skrypcie i owinąć ją w pcall().
Parametry
Przedmiot Player, do którego próbujesz pokazać projekt marki.
ID projektu marki dostarczone przez Roblox. Reprezentuje wszystkie zasoby związane z projektem marki.
Zwroty
Czy projekt marki może być pokazany konkretnemu użytkownikowi, czy nie.
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
Zwraca informacje o polityce dotyczące gracza na podstawie lokalizacji geograficznej, grupawiekowej i platforma. Struktura powrotnego słownika wygląda następująco:
<th>Typ</th><th>Wymagane dla</th><th>Opis</th></tr></thead><tbody><tr><td><code>AreAds allowedane są reklamy</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które obejmuje <a href="/production/monetization/immersive-ads">reklamy wciągające</a>.</td><td>Gdy <code>prawda</code>, gracz może zobaczyć wciągające reklamy w ramach doświadczenia.</td></tr><tr><td><code>ArePaidRandomItemsOgraniczone</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które ma płatne losowe przedmioty.</td><td>Gdy <code>prawda</code>, gracz nie może <b>interakcjonować</b> z płatnymi generatorami losowych przedmiotów za pośrednictwem waluty w doświadczeniu kupionej za Robux lub bezpośrednio za pomocą Robux.</td></tr><tr><td><code>Dozwolone odnośniki zewnętrzne</code></td><td>Zbiór</td><td>Dowolne doświadczenie, które odnosi się do zewnętrznych linków.</td><td>Lista odnośników zewnętrznych, takich jak linki do mediów społecznościowych, uchwyty lub ikony, które gracz może zobaczyć.Możliwe wartości obejmują <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> , i <code>"Guilded"</code>.</td></tr><tr><td><code>Czy udostępnianie treści jest dozwolone</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które pozwala użytkownikom na dzielenie się treściami poza platforma.</td><td>Gdy <code>prawda</code>, gracz ma możliwość udostępniania treści za pomocą interfejsów API, które otwierają zewnętrzne przepływy udostępniania, takie jak <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code>.</td></tr><tr><td><code>Czy kwalifikuje się do zakupu subskrypcji</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które chce sprzedawać subskrypcje.</td><td>Gdy <code>prawda</code>, gracz ma prawo kupować subskrypcje w ramach doświadczenia.</td></tr><tr><td><code>Czy IsPaidItemTrading jest dozwolony</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które pozwala użytkownikom kupować wirtualne przedmioty, którymi mogą handlować z innymi graczami.</td><td>Gdy <code>prawda</code>, gracz może wymieniać wirtualne przedmioty, które kupił za walutę w doświadczeniu lub Robux.</td></tr><tr><td><code>Jest przedmiotem polityki wobec Chin</code></td><td>Booleanowy</td><td>Dowolne doświadczenie, które jest dostępne w Chinach.</td><td>Gdy <code>prawda</code>, doświadczenie powinno egzekwować zmiany zgodności. Zobacz <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">ten post na forum</a> dla więcej informacji.</td></tr></tbody>
Nazwa |
---|
Wyjątki
Podobnie jak każde wezwanie asynowe, ta metoda musi być owinięta w pcall() i odpowiednio obsługiwana błądami.Pełna lista możliwych komunikatów o błędach i ich powodów to:
<th>Powód</th></tr></thead><tbody><tr><td>Instancja nie była graczem</td><td>Parametr <code>gracz</code> nie jest instancją instancja.Player.</td></tr><tr><td>Gracze nie znaleziono</td><td>Wewnętrzny błąd, w którym brakuje obiektu <code>Class.Players</code>.</td></tr><tr><td>Ta metoda nie może być wywołana na klientzie dla nie-lokalnego gracza</td><td>Ta metoda nie może być wywołana na klientzie dla nie-lokalnej klasy <code>Class.Player</code>.</td></tr><tr><td>GetPolicyInfoForPlayerAsync jest nazywany za dużo razy</td><td>Wewnętrzny błąd, który <code>GetPolicyInfoForPlayerAsync()</code> jest wzywany ponad 100 razy (obecne ustawienie) przed wsteczodpowiedzi HTTP.</td></tr></tbody>
Wiadomość |
---|
Zobacz także LocalizationService:GetCountryRegionForPlayerAsync(), który zwraca strunę kodu kraju/regionu zgodnie z lokalizacją IP klienta gracza.
Parametry
Zwroty
Słownik zawierający informacje o informacjach o polityce żądanego gracza; patrz powyżej dla struktury słownika.
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