Informacje o wersji
Edukacja
Klasa silnika
AdService
Brak możliwości tworzenia
Usługa

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Podsumowanie
Metody
GetAdAvailabilityNowAsync(adFormat: Enum.AdFormat):GetAdAvailabilityNowResult
GetCampaignEligibilityAsync(campaignId: string,player: Player?):GetCampaignEligibilityResult
RegisterAdOpportunityAsync(instance: Instance,placementId: number?):()
RegisterDisclosureButton(disclosureButton: GuiButton,adIntegrationPlacementId: string):()
ShowVideoAd():()
Przestarzałe
Zdarzenia
VideoAdClosed(adShown: boolean):RBXScriptSignal
Przestarzałe
Członkowie odziedziczeni

Materiały referencyjne dotyczące interfejsów API
Metody
CreateAdRewardFromDevProductId
Możliwości: Monetization
AdService:CreateAdRewardFromDevProductId(devProductId:number):AdReward
Parametry
devProductId:number
Zwroty

GetAdAvailabilityNowAsync
Wynik
Możliwości: Monetization
AdService:GetAdAvailabilityNowAsync(adFormat:Enum.AdFormat):GetAdAvailabilityNowResult
Parametry
adFormat:Enum.AdFormat
Zwroty
GetAdAvailabilityNowResult

GetCampaignEligibilityAsync
Wynik
Możliwości: Monetization
AdService:GetCampaignEligibilityAsync(
campaignId:string, player:Player?
):GetCampaignEligibilityResult
Parametry
campaignId:string
player:Player?
Wartość domyślna: "nil"
Zwroty
GetCampaignEligibilityResult
Przykłady kodu
Przykładowa integracja reklamy
local AdService = game:GetService("AdService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local YOUR_CAMPAIGN_ID = "123" -- Wprowadź tutaj identyfikator kampanii integracji reklamy z menedżera reklam.
local AD_INTEGRATION_IDS = {
-- Wprowadź identyfikatory miejsc integracji reklamy dla każdego zasobu, który zarejestrowałeś jako część swojego
-- kampanii integracji reklamy.
BrandedBuilding = "abc-123",
BrandedScreenGui = "xyz-789",
}
-- Zweryfikuj, czy LocalPlayer może zobaczyć Twoją kampanię
local success, result = pcall(function()
return AdService:GetCampaignEligibilityAsync(YOUR_CAMPAIGN_ID)
end)
if success and result.IsEligible then
-- Wszystkie zasoby integracji reklamy powinny być domyślnie ukryte. Gdy już wiesz, że
-- gracz jest uprawniony, to bezpiecznie jest zacząć pokazywać zasoby integracji reklamy.
local brandedBuildingModel = ReplicatedStorage.adIntegration.building
local brandedBuildingModelDisclosureBillboardGui = brandedBuildingModel.disclosureBillboardGui
-- Nie zapomnij zarejestrować przycisków ujawnienia reklamy, aby gracze wiedzieli, kto płaci za reklamę!
AdService:RegisterDisclosureButton(
brandedBuildingModelDisclosureBillboardGui.adDisclosureButton,
AD_INTEGRATION_IDS.BrandedBuilding
)
brandedBuildingModelDisclosureBillboardGui.Parent = Players.LocalPlayer.PlayerGui
brandedBuildingModel.Parent = game.Workspace
local brandedScreenGui = ReplicatedStorage.adIntegration.screenGui
AdService:RegisterDisclosureButton(brandedScreenGui.adDisclosureButton, AD_INTEGRATION_IDS.BrandedScreenGui)
brandedScreenGui.Parent = Players.LocalPlayer.PlayerGui
end

RegisterAdOpportunityAsync
Wynik
Możliwości: Monetization
AdService:RegisterAdOpportunityAsync(
instance:Instance, placementId:number?
):()
Parametry
instance:Instance
placementId:number?
Zwroty
()
Przykłady kodu
Śledzenie możliwości reklamowych
local AdService = game:GetService("AdService")
local playerGui = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
-- Utwórz ScreenGui i przycisk
local screenGui = Instance.new("ScreenGui", playerGui)
local adButton = Instance.new("TextButton", screenGui)
-- Zarejestruj przycisk w AdService
local success, err = pcall(function()
-- Drugi parametr to opcjonalny identyfikator umiejscowienia (Numer) wygenerowany w Creator Hub.
-- Jeśli zdecydujesz się nie podawać identyfikatora umiejscowienia, możliwość reklamy jest śledzona w ramach domyślnej umiejscowienia.
AdService:RegisterAdOpportunityAsync(adButton, 1234567891234567)
end)
if not success then
warn("Nie udało się zarejestrować możliwości reklamy:", err)
end

RegisterDisclosureButton
Możliwości: Monetization
AdService:RegisterDisclosureButton(
disclosureButton:GuiButton, adIntegrationPlacementId:string
):()
Parametry
disclosureButton:GuiButton
adIntegrationPlacementId:string
Zwroty
()

ShowRewardedVideoAdAsync
Wynik
Możliwości: UI, Monetization
AdService:ShowRewardedVideoAdAsync(
player:Player, reward:AdReward, placementId:number?
Parametry
player:Player
reward:AdReward
placementId:number?
Przykłady kodu
Wyświetl reklamy wideo z nagrodami
-- W skrypcie po stronie klienta:
local AdService = game:GetService("AdService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local rewardedVideoButton: GuiButton =
Players.LocalPlayer.PlayerGui:WaitForChild("myAdGui"):WaitForChild("watchRewardedVideoButton")
local watchRewardedVideoAdRemoteEvent: RemoteEvent = ReplicatedStorage:WaitForChild("watchRewardedVideoAd")
-- Klient nie ma jeszcze gotowej reklamy; ukryj przycisk
rewardedVideoButton.Visible = false
local success, result = pcall(function()
return AdService:GetAdAvailabilityNowAsync(Enum.AdFormat.RewardedVideo)
end)
if success and result.AdAvailabilityResult == Enum.AdAvailabilityResult.IsAvailable then
-- Pokaż przycisk, jeśli reklama jest dostępna
rewardedVideoButton.Visible = true
end
rewardedVideoButton.Activated:Connect(function()
watchRewardedVideoAdRemoteEvent:FireServer()
-- Wynik IsAvailable jest dobry tylko dla jednego odtworzenia reklamy. Aby odtworzyć kolejną reklamę, musisz wywołać
-- GetAdAvailabilityNowAsync i ponownie sprawdzić dostępność.
rewardedVideoButton.Visible = false
end)
-- W skrypcie po stronie serwera:
local AdService = game:GetService("AdService")
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local watchRewardedVideoAdRemoteEvent: RemoteEvent = ReplicatedStorage:WaitForChild("watchRewardedVideoAd")
local REWARDED_VIDEO_PRODUCT_ID = 123 -- Wprowadź tutaj swój identyfikator produktu dewelopera
local function grantReward(player: Player)
print(`przyznawanie nagrody dla {player.Name}!`)
end
MarketplaceService.ProcessReceipt = function(receiptInfo)
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if not player then
return Enum.ProductPurchaseDecision.NotProcessedYet
end
if receiptInfo.ProductId == REWARDED_VIDEO_PRODUCT_ID then
if receiptInfo.ProductPurchaseChannel == Enum.ProductPurchaseChannel.AdReward then
print(`gracz {receiptInfo.PlayerId} zdobył moją nagrodę za reklamę wideo, oglądając reklamę`)
else
print(`gracz {receiptInfo.PlayerId} kupił mój produkt z reklamy wideo za Robuxy`)
end
-- Przyznaj graczowi jego nagrodę
grantReward(player)
else
-- Obsłuż inne produkty
end
return Enum.ProductPurchaseDecision.PurchaseGranted
end
watchRewardedVideoAdRemoteEvent.OnServerEvent:Connect(function(player)
local reward = AdService:CreateAdRewardFromDevProductId(REWARDED_VIDEO_PRODUCT_ID)
AdService:ShowRewardedVideoAdAsync(player, reward)
end)

ShowVideoAd
Przestarzałe

UnregisterAdOpportunity
Możliwości: Monetization
AdService:UnregisterAdOpportunity(instance:Instance):()
Parametry
instance:Instance
Zwroty
()

Zdarzenia
VideoAdClosed
Przestarzałe

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.