PolicyService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
PolicyService dünyadaki oyuncuların politika uyumluluğu ile ilgili bilgileri sorgulamanıza yardımcı olur, yaş aralığı, konum ve platform yazgöre.
Özet
Özellikler
Yöntemler
Bir kullanıcının deneyiminizde marka proje varlıklarını görebilmesini belirler.
Coğrafi konum, yaş grupve platforma dayalı bir oyuncu hakkında politika bilgisi döndürür.
Özellikler
Yöntemler
CanViewBrandProjectAsync
Bir kullanıcının deneyiminizde marka proje varlıklarını görebilmesini belirler.Bu yöntem, sadece marka uyumlu izleyicilere ticari varlıkları göstermek için markalarla çalışmanıza izin verir.
CanViewBrandProjectAsync kullanmak için, Roblox tarafından sağlanan bir marka proje ID'si kullanmalısınız. Bir marka proje ID'si talep etmek için, bize ulaşın .
Bu yöntemi bir sunucu tarafı Kod üzerinde çağırmalı ve bunu bir pcall() içine sarılmalısınız.
Parametreler
Marka projesini göstermeye çalıştığınız Player nesne.
Roblox tarafından sağlanan marka proje ID'si. Bir marka projesi ile ilişkili tüm varlıkları temsil eder.
Dönüşler
Marka projesinin belirli kullanıcıya gösterilebilir olup olmadığı.
Kod Örnekleri
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
Coğrafi konum, yaş grupve platforma dayalı bir oyuncu hakkında politika bilgileri döndürür. Geri dönen sözlüğün yapısı şöyledir:
<th>Tür</th><th>Gerekli için</th><th>Açıklama</th></tr></thead><tbody><tr><td><code>AreAdsAllowedYayınlandığına izin verilen reklamlar</code></td><td>Boolean Booleksiyon</td><td><a href="/production/monetization/immersive-ads">Sürükleyici reklamları içeren herhangi bir deneyim</a> .</td><td>When <code>true</code> , oyuncu bir deneyim içinde sürükleyici reklamlar görebilir.</td></tr><tr><td><code>Ödenen Rastgele Öğeler Sınırlı mı?</code></td><td>Boolean Booleksiyon</td><td>Ödenmiş rastgele öğeleri olan herhangi bir deneyim.</td><td>When <code>true</code> , oyuncu <b>ile etkileşemez</b> ücretli rastgele öğe üreticileriyle, Robux veya Robux ile doğrudan satın alınan deneyim para birimi aracılığıyla.</td></tr><tr><td><code>Dış Bağlantı Referanslarına İzin Verildi</code></td><td>Dizilim</td><td>Dış bağlantılara referans veren herhangi bir deneyim.</td><td>Sosyal medya bağlantıları, kullanıcıların görebileceği kollar veya ikonografi gibi dış bağlantı referanslarının bir listesi.Olası değerler arasında <code>"Discord"</code> , <code>"Facebook"</code> , <code>"Twitch"</code> , <code>"YouTube"</code> , <code>"X"</code> , <code>"GitHub"</code> ve <code>"Guilded"</code> bulunur.</td></tr><tr><td><code>İçerik Paylaşımına İzin Veriliyor mu</code></td><td>Boolean Booleksiyon</td><td>Kullanıcıların platform dışında içerik paylaşmasına izin veren herhangi bir deneyim.</td><td>When <code>true</code> , oyuncunun dış paylaşım akışlarını açan API'leri kullanarak içeriği paylaşmasına izin verilir, örneğin <code>Class.CaptureService:PromptShareCapture()|PromptShareCapture()</code>.</td></tr><tr><td><code>Abonelik Satın Almaya Elverişli Olup Olmadığı</code></td><td>Boolean Booleksiyon</td><td>Aboneler satmak isteyen herhangi bir deneyim.</td><td>When <code>true</code> , oyuncu bir deneyim içinde abonelik satın almaya uygundur.</td></tr><tr><td><code>IsPaidItemTradingAllow edildi</code></td><td>Boolean Booleksiyon</td><td>Kullanıcıların diğer oyuncularla takas edebilecekleri sanal öğeler satın almalarına izin veren herhangi bir deneyim.</td><td>When <code>true</code> , oyuncu deneyim para veya Robux ile satın aldıkları sanal eşyaları takas edebilir.</td></tr><tr><td><code>Çin Politikalarına Tabi IsSubjectToIsSubjectToChinaPolicies</code></td><td>Boolean Booleksiyon</td><td>Çin'de mevcut herhangi bir deneyim.</td><td>When <code>true</code> , bir deneyim uyum değişikliklerini uygulamalıdır. Daha fazla bilgi için <a href="https://devforum.roblox.com/t/new-programs-available-roblox-china-licensed-to-operate/1023361">bu forum gönderisini görün</a>.</td></tr></tbody>
Adı |
---|
İstisnalar
Herhangi bir asenkron çağrı gibi, bu yöntemin pcall() içine sarılması ve hata ile doğru bir şekilde ele alınması gerekir.Olası hata mesajlarının ve nedenlerinin bir tam listesi budur:
<th>Neden</th></tr></thead><tbody><tr><td>Instans bir oyuncu değildi</td><td>Oyuncu <code>parametri</code> bir <code>Class.Player</code> durumdeğildir.</td></tr><tr><td>Oyuncular bulunamadı</td><td><code>Class.Players</code> nesnesinin eksik olduğu içsel hata.</td></tr><tr><td>Bu yöntem, yerel olmayan bir oyuncu için istemciye çağrılamaz</td><td>Bu yöntem, yerel olmayan bir <code>Class.Player</code> için istemciye çağrılamaz.</td></tr><tr><td>GetPolicyInfoForPlayerAsync çok kez çağrılıyor</td><td><code>GetPolicyInfoForPlayerAsync()</code> adlı iç hata, bir HTTP yanıtı geri dönmeden önce 100'den fazla kez çağrılır (mevcut ayar).</td></tr></tbody>
Mesaj |
---|
Ayrıca bakın LocalizationService:GetCountryRegionForPlayerAsync() , oyuncunun istemci IP konumuna göre bir ülke/bölge kodu dizesi döndüren.
Parametreler
Dönüşler
Talep edilen oyuncunun politika bilgileri hakkında bilgi içeren bir sözlük; sözlük yapısını yukarıda görün.
Kod Örnekleri
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