Meer informatie
Engine-klasse
AdService
Niet maakbaar
Service

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.


Samenvatting

Methoden
GetAdAvailabilityNowAsync(adFormat: Enum.AdFormat):GetAdAvailabilityNowResult
GetCampaignEligibilityAsync(campaignId: string,player: Player?):GetCampaignEligibilityResult
RegisterAdOpportunityAsync(instance: Instance,placementId: number?):()
RegisterDisclosureButton(disclosureButton: GuiButton,adIntegrationPlacementId: string):()
ShowVideoAd():()
Verouderd
Evenementen
Overgenomen leden

API-referentie
Methoden
CreateAdRewardFromDevProductId
Mogelijkheden: Monetization
AdService:CreateAdRewardFromDevProductId(devProductId:number):AdReward
Parameters
devProductId:number
Teruggaves

GetAdAvailabilityNowAsync
Opbrengst
Mogelijkheden: Monetization
AdService:GetAdAvailabilityNowAsync(adFormat:Enum.AdFormat):GetAdAvailabilityNowResult
Parameters
adFormat:Enum.AdFormat
Teruggaves
GetAdAvailabilityNowResult

GetCampaignEligibilityAsync
Opbrengst
Mogelijkheden: Monetization
AdService:GetCampaignEligibilityAsync(
campaignId:string, player:Player?
):GetCampaignEligibilityResult
Parameters
campaignId:string
player:Player?
Standaardwaarde: nil
Teruggaves
GetCampaignEligibilityResult
Codevoorbeelden
Voorbeeld Advertentie-integratie
local AdService = game:GetService("AdService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local YOUR_CAMPAIGN_ID = "123" -- Voer hier je advertentie-integratiecampagne-ID in van de advertentiesmanager.
local AD_INTEGRATION_IDS = {
-- Voer hier je advertentie-integratieplaatsings-ID's in voor elk activum dat je hebt geregistreerd als onderdeel van je
-- advertentie-integratiecampagne.
BrandedBuilding = "abc-123",
BrandedScreenGui = "xyz-789",
}
-- Verifieer of de LocalPlayer in aanmerking komt om je campagne te zien
local success, result = pcall(function()
return AdService:GetCampaignEligibilityAsync(YOUR_CAMPAIGN_ID)
end)
if success and result.IsEligible then
-- Alle advertentie-integratie-activa moeten standaard verborgen zijn. Zodra je weet dat de
-- speler in aanmerking komt, is het veilig om de advertentie-integratie-activa te tonen.
local brandedBuildingModel = ReplicatedStorage.adIntegration.building
local brandedBuildingModelDisclosureBillboardGui = brandedBuildingModel.disclosureBillboardGui
-- Vergeet niet je advertentie-openbaarmakingsknoppen te registreren, zodat spelers weten wie voor de advertentie betaalt!
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
Opbrengst
Mogelijkheden: Monetization
AdService:RegisterAdOpportunityAsync(
instance:Instance, placementId:number?
):()
Parameters
instance:Instance
placementId:number?
Teruggaves
()
Codevoorbeelden
Volg advertentiekansen
local AdService = game:GetService("AdService")
local playerGui = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
-- Maak de ScreenGui en de Knop
local screenGui = Instance.new("ScreenGui", playerGui)
local adButton = Instance.new("TextButton", screenGui)
-- Registreer de knop bij AdService
local success, err = pcall(function()
-- De tweede parameter is een optionele Plaatsings-ID (Nummer) parameter die is gegenereerd in de Creator Hub.
-- Als je ervoor kiest om geen Plaatsings-ID op te geven, wordt de advertentiekans geregistreerd onder de standaardplaatsing.
AdService:RegisterAdOpportunityAsync(adButton, 1234567891234567)
end)
if not success then
warn("Registreren van advertentiekans mislukt:", err)
end

RegisterDisclosureButton
Mogelijkheden: Monetization
AdService:RegisterDisclosureButton(
disclosureButton:GuiButton, adIntegrationPlacementId:string
):()
Parameters
disclosureButton:GuiButton
adIntegrationPlacementId:string
Teruggaves
()

ShowRewardedVideoAdAsync
Opbrengst
Mogelijkheden: UI, Monetization
AdService:ShowRewardedVideoAdAsync(
player:Player, reward:AdReward, placementId:number?
Parameters
player:Player
reward:AdReward
placementId:number?
Codevoorbeelden
Toon Beloningen Video Advertenties
-- In een script op de client:
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")
-- De client heeft nog geen advertentie klaar; verberg de knop
rewardedVideoButton.Visible = false
local success, result = pcall(function()
return AdService:GetAdAvailabilityNowAsync(Enum.AdFormat.RewardedVideo)
end)
if success and result.AdAvailabilityResult == Enum.AdAvailabilityResult.IsAvailable then
-- Toon de knop als er een advertentie beschikbaar is
rewardedVideoButton.Visible = true
end
rewardedVideoButton.Activated:Connect(function()
watchRewardedVideoAdRemoteEvent:FireServer()
-- De IsAvailable resultaat is alleen goed voor een enkele advertentie weergave. Om een andere advertentie te spelen, moet je
-- GetAdAvailabilityNowAsync aanroepen en de beschikbaarheid opnieuw controleren.
rewardedVideoButton.Visible = false
end)
-- In een script op de server:
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 -- Voer hier je ontwikkelingsproduct-ID in
local function grantReward(player: Player)
print(`een beloning geven aan {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(`speler {receiptInfo.PlayerId} heeft mijn beloningen video beloning verdiend door een advertentie te bekijken`)
else
print(`speler {receiptInfo.PlayerId} heeft mijn beloningen video product gekocht met Robux`)
end
-- Geef de speler hun beloning
grantReward(player)
else
-- Behandel andere producten
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
Verouderd

UnregisterAdOpportunity
Mogelijkheden: Monetization
AdService:UnregisterAdOpportunity(instance:Instance):()
Parameters
instance:Instance
Teruggaves
()

Evenementen
VideoAdClosed
Verouderd

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.