PolicyService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
PolicyService membantu anda menanyakan informasi tentang kesesuaian kebijakan untuk pemain di seluruh dunia berdasarkan rentang usia, lokasi, dan ketikplatform.
Rangkuman
Metode
Menentukan apakah pengguna dapat melihat aset proyek merek di dalam pengalaman Anda.
Kembalikan informasi kebijakan tentang pemain berdasarkan lokasi geografis, grupusia, dan platform.
Properti
Metode
CanViewBrandProjectAsync
Menentukan apakah pengguna dapat melihat aset proyek merek di dalam pengalaman Anda.Metode ini memungkinkan Anda bekerja dengan merek untuk hanya menampilkan aset komersial ke audiens yang sesuai dengan merek.
Untuk menggunakan CanViewBrandProjectAsync, Anda harus menggunakan ID proyek merek yang disediakan oleh Roblox. Untuk meminta ID proyek merek, hubungi kami .
Anda harus memanggil metode ini di sisi server Skrip dan mengemasnya dalam pcall() .
Parameter
Objek Player yang Anda coba tampilkan ke proyek merek.
ID proyek merek yang disediakan oleh Roblox. Mewakili semua aset yang terkait dengan proyek merek.
Memberikan nilai
Apakah proyek merek dapat ditampilkan kepada pengguna tertentu atau tidak.
Contoh Kode
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
Kembali informasi kebijakan tentang pemain berdasarkan lokasi geografis, grupusia, dan platform. Struktur kamus yang dikembalikan adalah sebagai berikut:
<th>Jenis</th><th>Diperlukan untuk</th><th>Deskripsi</th></tr></thead><tbody><tr><td><code>AdsAreDiberikan</code></td><td>Boolean</td><td>Setiap pengalaman yang memasukkan <a href="/production/monetization/immersive-ads">iklan imersif</a>.</td><td>Ketika <code>benar</code>, pemain mungkin melihat iklan imersif dalam pengalaman.</td></tr><tr><td><code>ArePaidRandomItemsRestrictedBahasa Indonesia:Dibatasi Item Pembayaran Acak</code></td><td>Boolean</td><td>Setiap pengalaman yang memiliki item acak berbayar.</td><td>Ketika <code>benar</code>, pemain dapat <b>tidak</b> berinteraksi dengan generator item acak berbayar, baik melalui mata uang pengalaman yang dibeli dengan Robux atau Robux secara langsung.</td></tr><tr><td><code>Referensi Tautan Eksternal Diizinkan</code></td><td>Matriks</td><td>Setiap pengalaman yang merujuk tautan eksternal.</td><td>Daftar referensi tautan eksternal seperti tautan media sosial, pegangan, atau ikonografi yang diizinkan dilihat pemain.Nilai yang mungkin termasuk <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> , dan <code>"Guilded"</code>.</td></tr><tr><td><code>Apakah Berbagi Konten Diizinkan</code></td><td>Boolean</td><td>Setiap pengalaman yang memungkinkan pengguna untuk berbagi konten di luar platform.</td><td>Ketika <code>benar</code>, pemain diizinkan untuk berbagi konten menggunakan API yang membuka aliran berbagi eksternal seperti <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code> .</td></tr><tr><td><code>Memenuhi Syarat untuk Membeli Langganan</code></td><td>Boolean</td><td>Setiap pengalaman yang ingin menjual langganan.</td><td>Ketika <code>benar</code>, pemain memenuhi syarat untuk membeli langganan dalam pengalaman.</td></tr><tr><td><code>IsPaidItemTradingDiberikan</code></td><td>Boolean</td><td>Setiap pengalaman yang memungkinkan pengguna untuk membeli item virtual yang dapat mereka perdagangkan dengan pemain lain.</td><td>Ketika <code>benar</code>, pemain dapat menukar item virtual yang mereka beli dengan mata uang dalam pengalaman atau Robux.</td></tr><tr><td><code>Apakah Subyek ke Kebijakan China</code></td><td>Boolean</td><td>Setiap pengalaman yang tersedia di Cina.</td><td>Ketika <code>benar</code>, pengalaman harus memaksakan perubahan kesesuaian. Lihat <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">post forum ini</a> untuk informasi lebih lanjut.</td></tr></tbody>
Nama |
---|
Pengecualian
Seperti panggilan asinkron lainnya, metode ini perlu dibungkus dalam pcall() dan ditangani kesalahan dengan benar.Daftar lengkap pesan kesalahan yang mungkin dan alasannya adalah:
<th>Penyebab</th></tr></thead><tbody><tr><td>Instansi bukan pemain</td><td>Parameter <code>pemain</code> tidak adalah instansi <code>Kelas.Pemain</code>.</td></tr><tr><td>Pemain tidak ditemukan</td><td>Kesalahan internal bahwa objek <code>Kelas.Pemain</code> hilang.</td></tr><tr><td>Metode ini tidak dapat dipanggil pada klien untuk pemain non-lokal</td><td>Metode ini tidak dapat dipanggil pada klien untuk <code>Kelas.Pemain</code> non-lokal.</td></tr><tr><td>GetPolicyInfoForPlayerAsync dipanggil terlalu banyak kali</td><td>Kesalahan internal yang <code>GetPolicyInfoForPlayerAsync()</code> dipanggil lebih dari 100 (pengaturan saat ini) kali sebelum respons HTTP kembali.</td></tr></tbody>
Pesan |
---|
Lihat juga LocalizationService:GetCountryRegionForPlayerAsync() yang men返ikan string kode negara/wilayah sesuai dengan lokasi IP klien pemain.
Parameter
Memberikan nilai
Kamus yang berisi informasi tentang informasi kebijakan pemain yang diminta; lihat di atas untuk struktur kamus.
Contoh Kode
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