为了将您的游戏发布给所有受众,PolicyService 帮助您构建可以满足多个国家多种国家法规的游戏玩法组件。 此服务用于根据年龄、地点和平台输入型向全球玩家发布政策合规性查询。
概要
方法
返回地理定位、年龄群组和平台的玩家的政策信息。
属性
方法
GetPolicyInfoForPlayerAsync
返回一个基于地理位置、年龄群组和平台的玩家的政策信息。返回的字典结构如下所示:
<tbody><tr><td>允许广告</td><td>Boolean</td><td>包括身临其境广告的任何体验</td><td>当真的时,玩家可能会在体验中看到身临其境的广告。</td></tr><tr><td>限定付费随机项目</td><td>Boolean</td><td>任何付费的随机物品体验</td><td>当真的时候,玩家无法与使用(通过 Robux 购买的)随机物品生成器交互。</td></tr><tr><td>允许外部链接参考</td><td>一堆字符串</td><td>任何引用外部链接的体验</td><td>一个玩家可以看到的外部链接列表(例如,社交媒体链接、手柄或图标)。可能的值包括:“Discord”、“Facebook”、“Twitch”、“Twitter”、“YouTube”、“X”、“GitHub”、“Guilded”。</td></tr><tr><td>是否允许内容共享</td><td>Boolean</td><td>任何允许用户从平台上分享内容的体验</td><td>当真的时候,玩家可以使用 API 分享内容,例如 <code>Class.CaptureService:PromptShareCapture()</code> 。</td></tr><tr><td>可用的订阅</td><td>Boolean</td><td>任何想要出售订阅的体验</td><td>在真实的时候,玩家可以在体验中购买订阅。</td></tr><tr><td>已允许付费物品交易</td><td>Boolean</td><td>允许用户购买虚拟物品,用于与其他玩家交易的虚拟物品</td><td>当真的时候,玩家可以交易他们购买的虚拟物品,使用经验货币或 Robux 购买。</td></tr><tr><td>受中国政策</td><td>Boolean</td><td>任何可用于中国的体验</td><td>当真的时,体验应该强制更改。请参阅<a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">这个论坛贴文</a>获取更多信息。</td></tr></tbody>
名称 | 类型 | 所需 | 描述 |
---|
例外
像任何异步调用,这需要被包围在 pcall 中,并且正确处理错误。以下是可能出现的错误消息和其原因的完整列表:
<tbody><tr><td>实例不是玩家</td><td>开发者使用 - 参数不是玩家实例</td></tr><tr><td>玩家未找到</td><td>内部错误 - 玩家对象丢失</td></tr><tr><td>此方法不能在客户端调用非本地玩家</td><td>Dev's 使用 - 此方法不能在客户端调用非本地玩家</td></tr><tr><td>调用 GetPolicyInfoForPlayerAsync 太多次</td><td>内部错误 - GetPolicyInfoForPlayerAsync 在返回 HTTP 请求之前被调用超过 100 次(当前设置)</td></tr></tbody>
消息 | 原因 |
---|
还请参阅:
- LocalizationService:GetCountryRegionForPlayerAsync() , 根据玩家的客户端 IP 地理位置返回国家/区域代码串
参数
您正在获取政策信息的玩家。
返回
一个包含给定玩家政策信息的字典。
代码示例
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