Pubblicità

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

L'API Pubblicità ti consente di creare e gestire programmaticamente la pubblicità su Roblox. Copre due tipi di pubblicità:

  • Pubblicità esperienziale — campagne di coinvolgimento che portano i giocatori alle tue esperienze, tramite l'Ads API.
  • Pubblicità di articoli — sponsorizzazione di articoli del Marketplace per aumentarne la visibilità.

Prima di utilizzare l'Ads API, genera una chiave API e concedi accesso agli ambiti ad.campaign:read, ad.campaign:write e ad.billing:read. Includi la chiave nell'intestazione della richiesta x-api-key in ogni richiesta. Tutti gli endpoint dell'Ads API sono serviti da https://apis.roblox.com/ads-management/v1.`.

Concetti chiave

  • Stato vs. stato di consegna — ogni campagna ha uno stato di ciclo di vita status che controlli (ACTIVE, PAUSED o CANCELLED, che è permanente) e uno deliveryStatus derivato, di sola lettura (IN_REVIEW, SERVING, NOT_SERVING o REJECTED). Una nuova campagna ha status ACTIVE e deliveryStatus IN_REVIEW fino al completamento della revisione della politica pubblicitaria. Quando una campagna non è in corso, leggi deliveryStatusReasons per il motivo.
  • Il denaro è rappresentato come stringhe micro-USD — gli importi del budget sono stringhe decimali in micro-USD ("5000000" = $5.00), inviati e restituiti come stringhe per preservare la precisione. Dividi per 1.000.000 per convertire in dollari.
  • Obiettivo — solo ENGAGEMENT (portare visite alla tua esperienza) è disponibile in v1.
  • Creativi — le campagne utilizzano asset immagine di Open Cloud come creativi. Carica un'immagine tramite l'Assets API, quindi fai riferimento al suo ID asset in creativeAssetIds.
  • Modifiche al budget — un aumento del budget si applica immediatamente; una diminuzione su una campagna in corso entra in vigore alla prossima mezzanotte nel fuso orario del conto di fatturazione.
  • Versioning — la versione principale è nel percorso (/ads-management/v1). Le modifiche additive e retrocompatibili vengono fornite come versioni minori selezionate con l'intestazione X-Roblox-Api-Version; il baseline congelato 1.0 è il valore predefinito.

Pubblicità esperienziale

Il primo passo in una campagna di pubblicità esperienziale è scegliere l'esperienza da pubblicizzare. Elenca le esperienze che l'account può pubblicizzare, quindi recupera le opzioni della campagna (obiettivi, tipi di pagamento e dimensioni di targeting) e l'idoneità per quella che scegli.

  1. Copia la chiave API nell'intestazione della richiesta x-api-key.
  2. Invia una richiesta a advertisable-universes per elencare le esperienze che puoi pubblicizzare.
  3. Invia una richiesta a campaign-options, sostituendo ${UniverseId} con l'ID dell'universo dell'esperienza target, per confermare l'idoneità e leggere i valori validi.
Elenca le esperienze pubblicizzabili
curl --location 'https://apis.roblox.com/ads-management/v1/advertisable-universes' \
--header 'x-api-key: ${ApiKey}'
Ottieni opzioni di campagna e idoneità
curl --location 'https://apis.roblox.com/ads-management/v1/campaign-options?universeId=${UniverseId}' \
--header 'x-api-key: ${ApiKey}'

Se l'esperienza non è idonea, campaign-options restituisce un motivo di idoneità come NO_PERMISSION (l'account non può pubblicizzare l'esperienza) o BLOCKED (l'esperienza non è idonea per la pubblicità).

Crea una campagna

Invia un POST a campaigns con l'esperienza, gli ID degli asset creativi, il budget e il programma.

  1. Carica la tua immagine creativa tramite l'Assets API e annota il suo ID asset.
  2. Imposta l'intestazione x-idempotency-key su un UUID. Ripetere la stessa chiave con un corpo identico entro 24 ore restituisce la campagna originale invece di crearne una duplicata.
  3. Imposta targetUniverseId, creativeAssetIds, budget e schedule nel corpo della richiesta.
  4. Invia la richiesta.
Crea una campagna di coinvolgimento
curl --location 'https://apis.roblox.com/ads-management/v1/campaigns' \
--header 'x-api-key: ${ApiKey}' \
--header 'x-idempotency-key: ${UUID}' \
--header 'Content-Type: application/json' \
--data '{
"name": "Promo estiva",
"objective": "ENGAGEMENT",
"paymentType": "CREDIT_CARD",
"targetUniverseId": "${UniverseId}",
"creativeAssetIds": ["${AssetId}"],
"budget": { "type": "DAILY", "amountMicros": "5000000" },
"schedule": { "startTime": "2026-08-01T00:00:00Z", "durationInDays": 7 }
}'

In caso di successo, la campagna viene restituita con status ACTIVE e deliveryStatus IN_REVIEW. A questo punto, è in coda per la revisione della politica pubblicitaria e non è ancora in corso:

Risposta (200 OK)
{
"id": "1122334455",
"name": "Promo estiva",
"objective": "ENGAGEMENT",
"paymentType": "CREDIT_CARD",
"targetUniverseId": "1234567890",
"creativeAssetIds": ["9876543210"],
"budget": { "type": "DAILY", "amountMicros": "5000000" },
"schedule": { "startTime": "2026-08-01T00:00:00Z", "durationInDays": 7 },
"status": "ACTIVE",
"deliveryStatus": "IN_REVIEW",
"createTime": "2026-07-27T00:00:00Z",
"updateTime": "2026-07-27T00:00:00Z"
}

Campi del corpo della richiesta

CampoTipoObbligatorioDescrizione
namestringIl nome visualizzato della campagna.
objectivestringL'obiettivo pubblicitario. Solo ENGAGEMENT è supportato in v1.
paymentTypestringCome viene pagata la campagna: CREDIT_CARD, ADS_CREDIT o INVOICE, soggetto a ciò che supporta il conto di fatturazione. Fisso dopo la creazione.
targetUniverseIdstringL'identificatore dell'esperienza da pubblicizzare.
creativeAssetIdsstring[]Gli ID degli asset immagine di Open Cloud da pubblicizzare, come stringhe decimali. Gli asset devono già esistere ed essere utilizzabili dal chiamante.
budgetobjecttype è DAILY o LIFETIME (fisso dopo la creazione); amountMicros è l'importo in micro-USD come stringa decimale. Deve soddisfare il minimo.
scheduleobjectstartTime è un timestamp UTC RFC 3339 che non deve essere nel passato; durationInDays è quanto a lungo la campagna è attiva (max 3650).
targetingobjectNoTargeting del pubblico opzionale. Omettilo, o invia un oggetto vuoto, per raggiungere tutti i pubblici. Vedi Targeting.
bidobjectNoStrategia di offerta opzionale. Solo AUTOMATED è accettato in v1; può essere omesso.

Targeting

targeting è facoltativo; omettilo o invia un oggetto vuoto per raggiungere tutti i pubblici. Ogni dimensione è un array. Un array vuoto significa "tutti" per quella dimensione.

CampoTipoDescrizione
ageGroupsstring[]Fasce di età a cui consegnare: AGE_13_17, AGE_18_24 o AGE_25_PLUS.
countriesstring[]Codici paese ISO 3166-1 alpha-2 a cui consegnare, come US.
devicesstring[]Tipi di dispositivo a cui consegnare: PHONE, TABLET, DESKTOP o CONSOLE.

Controlla se una campagna è in corso

Dopo aver creato una campagna, controlla il suo stato di consegna fino a quando non si stabilizza su SERVING, NOT_SERVING o REJECTED. Usa campaigns:batchGetStatus per controllare fino a 100 campagne per chiamata.

Controlla lo stato della campagna in batch
curl --location 'https://apis.roblox.com/ads-management/v1/campaigns:batchGetStatus' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{ "campaignIds": ["1122334455"] }'
Risposta (200 OK)
{
"statuses": [
{ "id": "1122334455", "status": "ACTIVE", "deliveryStatus": "SERVING" }
]
}

Qualsiasi ID che non viene trovato o non è di proprietà del chiamante viene restituito in un array failures con motivo NOT_FOUND.

deliveryStatusSignificato
IN_REVIEWIn coda per la revisione della politica pubblicitaria; non ancora in corso.
SERVINGAttivamente in corso. deliveryStatusReasons può includere LEARNING mentre la campagna si avvia.
NOT_SERVINGNon attualmente in corso. Controlla deliveryStatusReasons (ad esempio, PAUSED o COMPLETED).
REJECTEDRifiutato in revisione. Controlla deliveryStatusReasons (ad esempio, MODERATED).

Gestisci una campagna

Usa PATCH /campaigns/{id} per mettere in pausa, riprendere, rinominare o modificare il budget. Invia solo i campi che stai cambiando.

Metti in pausa una campagna
curl --location --request PATCH 'https://apis.roblox.com/ads-management/v1/campaigns/1122334455' \
--header 'x-api-key: ${ApiKey}' \
--header 'Content-Type: application/json' \
--data '{ "status": "PAUSED" }'
  • Riprendi: invia { "status": "ACTIVE" }.
  • Annulla: invia { "status": "CANCELLED" }. L'annullamento è permanente.
  • Cambia budget: invia un nuovo budget.amountMicros. Un aumento si applica immediatamente; una diminuzione su una campagna in corso entra in vigore alla prossima mezzanotte nel fuso orario del conto di fatturazione, visualizzata come budget.scheduledAmountMicros e budget.scheduledEffectiveTime fino ad allora.

Report sulle prestazioni

Le metriche delle prestazioni della campagna—spesa, impressioni, riproduzioni e altro—vengono riportate tramite l'Analytics API, la casa per le metriche pubblicitarie e delle esperienze.

Errori comuni

Gli errori restituiscono un involucro con uno status HTTP, un breve title, un detail leggibile dall'uomo e un array errors in cui ogni voce ha un code stabile e leggibile dalla macchina e un message.

StatoCodiceCausaRisoluzione
400INVALID_ARGUMENTUn campo obbligatorio è mancante o non valido, è stato inviato un endTime, un asset creativo è non valido, o il budget è al di sotto del minimo.Controlla i Campi del corpo della richiesta. Il budget minimo è indicato nel messaggio di errore.
403PERMISSION_DENIEDIl chiamante non può gestire il conto di fatturazione, l'esperienza non è pubblicizzabile, o il chiamante non ha il permesso di utilizzare un creativo.Conferma l'account e che l'esperienza sia pubblicizzabile utilizzando campaign-options.
409La x-idempotency-key è stata riutilizzata con un corpo di richiesta diverso, o una scrittura concorrente ha causato un conflitto.Usa un nuovo UUID per una nuova campagna, o ripeti la richiesta.
429RATE_LIMITEDTroppe richieste in un breve periodo.Aspetta e ripeti dopo un breve ritardo.
500Si è verificato un errore del server imprevisto.Ripeti la richiesta. Se l'errore persiste, crea un nuovo post su DevForum.

Pubblicità di articoli

Sponsorizza articoli del Marketplace come articoli per avatar, bundle e pass per aumentarne la visibilità su Roblox. Puoi creare e gestire sponsorizzazioni di articoli nel Gestore di articoli sponsorizzati o programmaticamente tramite gli endpoint delle campagne sponsorizzate su adconfiguration.roblox.com, elencati sotto Pubblicità nella documentazione API. Per ulteriori informazioni, vedi Articoli sponsorizzati.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.