PolicyService

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ
Không Sao Chép

PolicyService giúp bạn truy vấn thông tin liên quan đến tuân thủ chính sách đối với người chơi trên toàn thế giới dựa trên phạm vi tuổi, vị trí và đánh máynền tảng.

Tóm Tắt

Phương Pháp

Thuộc Tính

Phương Pháp

CanViewBrandProjectAsync

Sinh Lợi

Xác định xem người dùng có thể xem tài sản dự án thương hiệu bên trong trải nghiệm của bạn hay không.Phương pháp này cho phép bạn làm việc với các thương hiệu để chỉ hiển thị tài sản thương mại cho các đối tượng phù hợp với thương hiệu.

Để sử dụng CanViewBrandProjectAsync, bạn phải sử dụng một ID dự án thương hiệu được cung cấp bởi Roblox. Để yêu cầu một ID dự án thương hiệu, liên hệ chúng tôi .

Bạn phải gọi phương thức này trên một kịch bản bên máy chủ và bọc nó trong một pcall() .

Tham Số

player: Player

Vật thể Player mà bạn đang cố gắng hiển thị dự án thương hiệu cho.

Giá Trị Mặc Định: ""
brandProjectId: string

ID dự án thương hiệu được cung cấp bởi Roblox. Biểu hiện tất cả các tài sản liên quan đến một dự án thương hiệu.

Giá Trị Mặc Định: ""

Lợi Nhuận

Liệu dự án thương hiệu có được hiển thị cho người dùng cụ thể hay không.

Mẫu mã

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

Sinh Lợi

Trả về thông tin chính sách về một người chơi dựa trên vị trí địa lý, nhóm tuổi và nền tảng. Cấu trúc của từ điển trả về như sau:


<th>Loại</th>
<th>Yêu cầu cho</th>
<th>Mô tả</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>AreAdsAllowed được phép</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ trải nghiệm nào bao gồm <a href="../../../production/monetization/immersive-ads.md">quảng cáo sống động</a>.</td>
<td>Khi <code>đúng</code>, người chơi có thể nhìn thấy quảng cáo sống động trong trải nghiệm.</td>
</tr>
<tr>
<td><code>ArePaidRandomItemsBị giới hạn</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ kinh nghiệm nào có các vật phẩm ngẫu nhiên đã trả tiền.</td>
<td>Khi <code>đúng</code>, người chơi có thể <b>không</b> tương tác với các máy tạo ngẫu nhiên trả tiền, hoặc qua tiền trong trải nghiệm được mua bằng Robux hoặc Robux trực tiếp.</td>
</tr>
<tr>
<td><code>Cho phép tham chiếu liên kết bên ngoài</code></td>
<td>Mảng</td>
<td>Bất kỳ trải nghiệm nào tham chiếu đến các liên kết bên ngoài.</td>
<td>Một danh sách các tham chiếu liên kết bên ngoài như liên kết mạng xã hội, tay cầm hoặc biểu tượng mà một người chơi được phép xem.Các giá trị có thể bao gồm <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> , và <code>"Guilded"</code> .</td>
</tr>
<tr>
<td><code>Chia sẻ nội dung được phép</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ trải nghiệm nào cho phép người dùng chia sẻ nội dung ngoài nền tảng.</td>
<td>Khi <code>đúng</code>, người chơi được phép chia sẻ nội dung bằng cách sử dụng API mở dòng chia sẻ bên ngoài như <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code> .</td>
</tr>
<tr>
<td><code>Có thể mua đăng ký IsEligibleToPurchaseSubscription</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ trải nghiệm nào muốn bán gói đăng ký.</td>
<td>Khi <code>đúng</code>, người chơi có thể mua đăng ký trong một trải nghiệm.</td>
</tr>
<tr>
<td><code>IsPaidItemTradingĐược phép</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ trải nghiệm nào cho phép người dùng mua các vật phẩm ảo có thể trao đổi với các người chơi khác.</td>
<td>Khi <code>đúng</code>, người chơi có thể trao đổi các vật phẩm ảo họ đã mua bằng tiền tệ trong kinh nghiệm hoặc Robux.</td>
</tr>
<tr>
<td><code>IsSubjectToChinaPolicies là gì</code></td>
<td>Boolean Hoặc</td>
<td>Bất kỳ trải nghiệm nào có sẵn ở Trung Quốc.</td>
<td>Khi <code>đúng</code>, một trải nghiệm nên áp dụng các thay đổi tuân thủ. Xem <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">bài đăng trên diễn đàn này</a> để biết thêm thông tin.</td>
</tr>
</tbody>
Tên
Ngoại lệ

Giống như bất kỳ cuộc gọi không đồng bộ nào, phương pháp này cần được bọc trong pcall() và xử lý lỗi đúng cách.Một danh sách đầy đủ các thông điệp lỗi có thể và lý do của chúng là:


<th>Lý do</th>
</tr>
</thead>
<tbody>
<tr>
<td>Instances không phải là một người chơi</td>
<td>Tham số <code>người chơi</code> không phải là một ví dụ / trường hợpClass.Player.</td>
</tr>
<tr>
<td>Không tìm thấy người chơi</td>
<td>Lỗi nội bộ mà đối tượng <code>Class.Players</code> bị thiếu.</td>
</tr>
<tr>
<td>Phương thức này không thể được gọi trên khách hàng cho một người chơi không địa phương</td>
<td>Phương pháp này không thể được gọi trên khách hàng cho một lớp không địa phương <code>Class.Player</code>.</td>
</tr>
<tr>
<td>GetPolicyInfoForPlayerAsync được gọi quá nhiều lần</td>
<td>Lỗi nội bộ mà <code>GetPolicyInfoForPlayerAsync()</code> được gọi hơn 100 lần trước khi phản hồi HTTP trở quay lại.</td>
</tr>
</tbody>
Tin nhắn

Xem thêm LocalizationService:GetCountryRegionForPlayerAsync() mà người chơivề một chuỗi mã quốc gia/khu vực theo vị trí IP khách hàng.

Tham Số

player: Instance

The Player để nhận thông tin chính sách.

Giá Trị Mặc Định: ""

Lợi Nhuận

Một từ điển chứa thông tin về thông tin chính sách của người chơi được yêu cầu; xem phía trên để có cấu trúc từ điển.

Mẫu mã

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

Sự Kiện