PolicyService

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

PolicyService ti aiuta a interrogare le informazioni relative al rispetto delle politiche per i giocatori in tutto il mondo in base alla fascia d'età, alla posizione e al tipo di piattaforma.

Sommario

Metodi

Proprietà

Metodi

CanViewBrandProjectAsync

Resa

Determina se un utente può vedere le risorse del progetto del marchio all'interno della tua esperienza.Questo metodo ti consente di lavorare con i marchi per mostrare solo risorse commerciali a audience conformi ai marchi.

Per utilizzare CanViewBrandProjectAsync , devi utilizzare un ID progetto di marca fornito da Roblox. Per richiedere un ID progetto di marca, contattaci .

Devi chiamare questo metodo su uno script lato server e avvolgerlo in un pcall() .

Parametri

player: Player

L'oggetto Player che stai cercando di mostrare al progetto di marca.

Valore predefinito: ""
brandProjectId: string

L'ID del progetto di marca fornito da Roblox. Rappresenta tutte le risorse associate a un progetto di marca.

Valore predefinito: ""

Restituzioni

Se o meno il progetto del marchio può essere mostrato all'utente specifico.

Campioni di codice

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.

Server-side code sample

-- 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)
Client-side code sample

-- 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

Resa

Restituisce informazioni sulla politica dei ritorni su un giocatore in base alla geolocalizzazione, al gruppo di età e alla piattaforma. La struttura del dizionario restituito è la seguente:


<th>Tipo</th>
<th>Richiesto per</th>
<th>Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>AreAdsAllowed</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che include <a href="/production/monetization/immersive-ads">annunci immersivi</a>.</td>
<td>Quando <code>vero</code>, il giocatore potrebbe vedere annunci immersivi all'interno di un'esperienza.</td>
</tr>
<tr>
<td><code>ArePaidRandomItemsRestricted</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che abbia pagato oggetti casuali.</td>
<td>Quando <code>vero</code>, il giocatore non può <b>interagire</b> con generatori di oggetti casuali a pagamento, né via valuta in-esperienza acquistata con Robux o Robux direttamente.</td>
</tr>
<tr>
<td><code>Referenze di link esterno consentite</code></td>
<td>Array</td>
<td>Qualsiasi esperienza che faccia riferimento a link esterni.</td>
<td>Un elenco di riferimenti di link esterni come link di social media, maniglie o iconografia che un giocatore è autorizzato a vedere.I valori possibili includono <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> , e <code>"Guilded"</code> .</td>
</tr>
<tr>
<td><code>È consentito condividere contenuti</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che consenta agli utenti di condividere contenuti al di fuori della piattaforma.</td>
<td>Quando <code>vero</code>, al giocatore è consentito di condividere contenuti utilizzando API che aprono flussi di condivisione esterni come <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code>.</td>
</tr>
<tr>
<td><code>ÈEligibleToPurchaseCommerceProduct</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che voglia vendere <a href="/production/monetization/commerce-products">prodotti di commercio</a>.</td>
<td>Quando <code>vero</code>, il giocatore è idoneo ad acquistare prodotti di commercio all'interno di un'esperienza.</td>
</tr>
<tr>
<td><code>IsEligibleToPurchaseSubscription</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che voglia vendere abbonamenti.</td>
<td>Quando <code>vero</code>, il giocatore è idoneo ad acquistare abbonamenti all'interno di un'esperienza.</td>
</tr>
<tr>
<td><code>IsPaidItemTradingAllowed</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che consenta agli utenti di acquistare oggetti virtuali con cui possono scambiare con altri giocatori.</td>
<td>Quando <code>vero</code>, il giocatore può scambiare oggetti virtuali che ha acquistato con valuta in-experience o Robux.</td>
</tr>
<tr>
<td><code>È soggetto alle politiche di Cina</code></td>
<td>Booleano</td>
<td>Qualsiasi esperienza che è disponibile in Cina.</td>
<td>Quando <code>vero</code>, un'esperienza dovrebbe far rispettare le modifiche di conformità. Vedi <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">questo post del forum</a> per ulteriori informazioni.</td>
</tr>
</tbody>
Nome
Eccedenze

Come qualsiasi chiamata asincrona, questo metodo deve essere incapsulato in pcall() e gestito correttamente gli errori.Un elenco completo dei messaggi di errore possibili e delle loro ragioni è:


<th>Motivo</th>
</tr>
</thead>
<tbody>
<tr>
<td>L'istanza non era un giocatore</td>
<td>Il parametro <code>giocatore</code> non è un'istanza <code>Class.Player</code>.</td>
</tr>
<tr>
<td>Giocatori non trovati</td>
<td>Errore interno che l'oggetto <code>Class.Players</code> è mancante.</td>
</tr>
<tr>
<td>Questo metodo non può essere chiamato sul client per un giocatore non locale</td>
<td>Questo metodo non può essere chiamato sul client per una classe non locale <code>Class.Player</code>.</td>
</tr>
<tr>
<td>GetPolicyInfoForPlayerAsync viene chiamato troppe volte</td>
<td>Errore interno che <code>GetPolicyInfoForPlayerAsync()</code> viene chiamato più di 100 (impostazione attuale) volte prima che una risposta HTTP torni.</td>
</tr>
</tbody>
Messaggio

Vedi anche LocalizationService:GetCountryRegionForPlayerAsync() che restituisce una stringa di codice del paese/regione secondo la geolocalizzazione del client del giocatore.

Parametri

player: Instance

Il Player per ottenere informazioni sulla politica.

Valore predefinito: ""

Restituzioni

Un dizionario che contiene informazioni sull'informazione di politica del giocatore richiesto; vedi sopra per la struttura del dizionario.

Campioni di codice

This code sample gets policy information for the local player and warns if they cannot interact with paid random item generators.

Getting Policy Information for a Player

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

This code sample gets policy information for the local player and warns if they cannot purchase a real-world commerce product.

Getting Policy Information for a Player

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 not result.IsEligibleToPurchaseCommerceProduct then
warn("Player is not eligible to purchase commerce products")
end

Eventi