PolicyService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
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
Détermine si un utilisateur peut voir les ressources du projet de marque à l'intérieur de votre expérience.
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.
Propriétés
Méthodes
CanViewBrandProjectAsync
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
L'objet Player que vous essayez de montrer au projet de marque.
L'ID de projet de marque fourni par Roblox. Représente toutes les ressources associées à un projet de marque.
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.
-- 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
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
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.
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