PolicyService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet
Çoğaltılmamış

PolicyService dünyadaki oyuncuların politika uyumluluğu ile ilgili bilgileri sorgulamanıza yardımcı olur, yaş aralığı, konum ve platform yazgöre.

Özet

Yöntemler

Özellikler

Yöntemler

CanViewBrandProjectAsync

Bekletir

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

player: Player

Marka projesini göstermeye çalıştığınız Player nesne.

Varsayılan değer: ""
brandProjectId: string

Roblox tarafından sağlanan marka proje ID'si. Bir marka projesi ile ilişkili tüm varlıkları temsil eder.

Varsayılan değer: ""

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.

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

Bekletir

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>AreAdsAllowed
Yayı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

player: Instance

Politika bilgileri almak için Player .

Varsayılan değer: ""

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.

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

Etkinlikler