PolicyService

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service
Non répliqué

PolicyService aide à rechercher des informations relatives à la conformité à la politique pour les joueurs dans le monde en fonction de la plage d'âge, de la localisation et du taperde plate-forme.

Résumé

Méthodes

Propriétés

Méthodes

CanViewBrandProjectAsync

Rendement

Détermine si un utilisateur peut voir les ressources du projet de marque à l'intérieur de votre expérience.Cette méthode vous permet de travailler avec des marques pour ne montrer que des ressources commerciales aux audiences conformes aux marques.

Pour utiliser CanViewBrandProjectAsync, vous devez utiliser un ID de projet de marque fourni par Roblox. Pour demander un ID de projet de marque, contactez-nous .

Vous devez appeler cette méthode sur un script côté serveur et l'envelopper dans un pcall().

Paramètres

player: Player

L'objet Player que vous essayez de montrer au projet de marque.

Valeur par défaut : ""
brandProjectId: string

L'ID de projet de marque fourni par Roblox. Représente toutes les ressources associées à un projet de marque.

Valeur par défaut : ""

Retours

Si oui ou non le projet de marque peut être montré à l'utilisateur spécifique.

Échantillons de code

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

Rendement

Renvoie des informations sur la politique de retour d'un joueur en fonction de la géolocalisation, du groupe d'âge et de la plateforme. La structure du dictionnaire renvoyé est la suivante :


<th>Type</th>
<th>Nécessaire pour</th>
<th>Avertissement</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>Les publicités sont autorisées</code></td>
<td>Booléen</td>
<td>Toute expérience incluant <a href="../../../production/monetization/immersive-ads.md">des publicités immersives</a>.</td>
<td>Lorsque <code>vrai</code>, le joueur peut voir des publicités immersives dans une expérience.</td>
</tr>
<tr>
<td><code>ArePaidRandomItemsRestricté</code></td>
<td>Booléen</td>
<td>Toute expérience qui a des articles aléatoires payés.</td>
<td>Lorsque <code>vrai</code>, le joueur ne peut pas <b>interagir</b> avec les générateurs de données aléatoires payants, soit via la monnaie en expérience achetée avec des Robux ou des Robux directement.</td>
</tr>
<tr>
<td><code>Références de lien externe autorisé</code></td>
<td>Tableau</td>
<td>Toute expérience qui fait référence à des liens externes.</td>
<td>Une liste de références de liens externes tels que les liens de médias sociaux, les poignées ou l'iconographie qu'un joueur est autorisé à voir.Les valeurs possibles incluent <code>« Discord »</code> , <code>« Facebook »</code> , <code>« Twitch »</code> , <code>« YouTube »</code> , <code>« X »</code> , <code>« GitHub »</code> , et <code>« Guilded »</code> .</td>
</tr>
<tr>
<td><code>Est-ce que le partage de contenu est autorisé</code></td>
<td>Booléen</td>
<td>Toute expérience qui permet aux utilisateurs de partager du contenu en dehors de la plateforme.</td>
<td>Lorsque <code>vrai</code>, le joueur est autorisé à partager du contenu en utilisant des API qui ouvrent des flux de partage externes tels que <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code> .</td>
</tr>
<tr>
<td><code>Est-éligible à l'achat d'un abonnement</code></td>
<td>Booléen</td>
<td>Toute expérience qui souhaite vendre des abonnements.</td>
<td>Lorsque <code>vrai</code>, le joueur est éligible à l'achat d'abonnements dans une expérience.</td>
</tr>
<tr>
<td><code>IsPaidItemTradingAllowed</code></td>
<td>Booléen</td>
<td>Toute expérience qui permet aux utilisateurs d'acheter des objets virtuels qu'ils peuvent échanger avec d'autres joueurs.</td>
<td>Lorsque <code>vrai</code>, le joueur peut échanger des objets virtuels qu'il a achetés avec de la monnaie en expérience ou des Robux.</td>
</tr>
<tr>
<td><code>Est-il soumis aux politiques de la Chine</code></td>
<td>Booléen</td>
<td>Toute expérience disponible en Chine.</td>
<td>Lorsque <code>vrai</code>, une expérience doit appliquer les modifications de conformité. Voir <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">ce post du forum</a> pour plus d'informations.</td>
</tr>
</tbody>
Nom
Exceptions

Comme toute autre appel asynchrone, cette méthode doit être emballée dans pcall() et gérée correctement en cas d'erreur.Une liste complète des messages d'erreur possibles et de leurs raisons est :


<th>Raison</th>
</tr>
</thead>
<tbody>
<tr>
<td>L'instance n'était pas un joueur</td>
<td>Le paramètre <code>joueur</code> n'est pas une instance <code>Class.Player</code>.</td>
</tr>
<tr>
<td>Joueurs non trouvés</td>
<td>Erreur interne qui manque à l'objet <code>Class.Players</code>.</td>
</tr>
<tr>
<td>Cette méthode ne peut pas être appelée sur le client pour un joueur non local</td>
<td>Cette méthode ne peut pas être appelée sur le client pour une classe non locale <code>Class.Player</code>.</td>
</tr>
<tr>
<td>GetPolicyInfoForPlayerAsync est appelé trop de fois</td>
<td>Erreur interne que <code>GetPolicyInfoForPlayerAsync()</code> est appelé plus de 100 fois avant que une réponse HTTP ne retour.</td>
</tr>
</tbody>
Message

Voir aussi LocalizationService:GetCountryRegionForPlayerAsync() qui renvoie une chaîne de code pays/région selon la géolocalisation du client du joueur.

Paramètres

player: Instance

Le Player pour obtenir des informations sur la politique.

Valeur par défaut : ""

Retours

Un dictionnaire contenant des informations sur l'information politique du joueur demandé ; voir ci-dessus pour la structure du dictionnaire.

Échantillons de code

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

Évènements