AMP

amp-auto-ads

Inserisce in modo dinamico gli annunci in una pagina AMP utilizzando un file di configurazione gestito in remoto.

Disponibilità Sperimentale
Script obbligatorio <script async custom-element="amp-auto-ads" src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"></script>
Layout supportati N/D

Comportamento

Dato un numero sufficiente di posizionamenti validi (forniti nella configurazione), amp-auto-ads cerca di inserire annunci aggiuntivi rispettando al contempo una serie di limitazioni specificate dalla rete pubblicitaria. Queste limitazioni agiscono su:

  • Il numero totale di annunci che possono essere inseriti
  • La distanza minima tra gli annunci adiacenti

In aggiunta, gli annunci verranno inseriti solo in posizioni della pagina che non causano una ripetizione flusso inaccettabile, come determinato da attemptChangeSize.

Il tag <amp-auto-ads> dovrebbe essere posizionato come primo tag secondario di <body>.

Il tipo di rete pubblicitaria e qualsiasi informazione aggiuntiva richiesta dalla rete pubblicitaria devono essere specificati nel tag.

<amp-auto-ads
    type="adsense"
    data-ad-client="ca-pub-5439573510495356">
  </amp-auto-ads>

Reti pubblicitarie supportate

Attributi

type (obbligatorio) Un identificatore per la rete pubblicitaria.
data-foo-bar La maggior parte delle reti pubblicitarie necessita di un'ulteriore configurazione, che può essere trasmessa alla rete tramite attributi data- HTML. I nomi dei parametri sono soggetti alla conversione standard degli attributi dei dati dai trattini alla notazione a cammello. Ad esempio, "data-foo-bar" viene inviato all'annuncio per la configurazione come "fooBar". Consulta la documentazione relativa alla rete pubblicitaria in cui possono essere utilizzati gli attributi.
common attributes Questo elemento include attributi comuni estesi ai componenti AMP.

Specifica della configurazione

La configurazione definisce in quali aree della pagina <amp-auto-ads> può inserire gli annunci. La configurazione viene recuperata da una rete pubblicitaria di terze parti all'URL specificato in ad-network-config.js. La configurazione dovrebbe essere un oggetto JSON serializzato che corrisponde alla definizione ConfigObj descritta di seguito.

Configurazione di esempio

L'esempio seguente specifica che l'annuncio dovrebbe essere posizionato subito dopo tutti gli elementi <P class='paragraph'> all'interno del terzo <DIV id='domId'> della pagina. Gli annunci inseriti in questi posizionamenti devono essere del tipo BANNER e avere un margine superiore di 4 px e uno inferiore di 10 px.

{
  "placements": [
    {
      "anchor": {
        "selector": "DIV#domId",
        "index": 2,
        "sub": {
          "selector": "P.paragraph",
          "all": true,
        },
      },
      "pos": 4,
      "type": 1,
      "style": {
        "top_m": 5,
        "bot_m": 10,
      },
    },
  ]
}

Definizioni dell'oggetto

ConfigObj

I campi da specificare nell'oggetto di configurazione sono i seguenti:

Nome campo Tipo Descrizione
placements Array<!PlacementObj> Un campo obbligatorio che indica i posizionamenti potenziali all'interno della pagina in cui gli annunci possono essere inseriti.
attributes Object<string, string>> Un campo facoltativo che specifica una mappatura dal nome dell'attributo ai valori dell'attributo da applicare a tutti gli elementi <amp-ad> inseriti per mezzo di questa configurazione. Sono consentiti solo i seguenti nomi di attributi:
  • type
  • layout
  • data-* (ossia qualsiasi attributo dei dati)
adConstraints AdConstraintsObj Un campo facoltativo che specifica le limitazioni da rispettare per l'inserimento di annunci nella pagina. Se non specificato, amp-auto-ads tenterà di utilizzare le limitazioni predefinite specificate in ad-network-config.js.

PlacementObj

I campi da specificare nell'oggetto di configurazione placements sono i seguenti:

Nome campo Tipo Descrizione
anchor AnchorObj Un campo obbligatorio che fornisce informazioni utilizzate per cercare gli elementi all'interno della pagina a cui è ancorata la posizione del posizionamento.
pos RelativePositionEnum Un campo obbligatorio che indica la posizione del posizionamento in relazione al suo elemento di ancoraggio.
type PlacementTypeEnum Un campo obbligatorio che indica il tipo di posizionamento.
style PlacementStyleObj Un campo facoltativo che indica gli stili da applicare a un annuncio inserito nella posizione di questo posizionamento.
attributes Object<string, string> Un campo facoltativo per una mappa dal nome dell'attributo al valore degli attributi da applicare a tutti gli elementi <amp-ad> inseriti per mezzo di questa configurazione. Un attributo specificato qui sostituisce qualsiasi attributo con lo stesso nome specificato anche nella ConfigObj principale. Sono consentiti solo i seguenti nomi di attributi:
  • type
  • layout
  • data-* (ossia qualsiasi attributo dei dati)

AnchorObj

I campi da specificare nell'oggetto di configurazione anchor sono i seguenti:

Nome campo Tipo Descrizione
selector string Un campo obbligatorio che definisce un selettore CSS per selezionare gli elementi a questo livello della definizione dell'ancoraggio.
index number Un campo facoltativo per specificare l'indice degli elementi selezionati dal selettore a cui dovrebbe essere limitato questo livello di definizione dell'ancoraggio. Per impostazione predefinita, il valore è impostato su 0 (se il campo all è false).
all boolean Ignorato se il campo index è stato specificato. Se impostato su true, indica che tutti gli elementi selezionati dal selettore devono essere inclusi. In caso contrario, impostalo su false.
min_c number Un campo facoltativo che specifica la lunghezza minima della proprietà textContent di un elemento affinché venga inclusa. Il valore predefinito è 0.
sub AnchorObj Un campo facoltativo che specifica un AnchorObj ricorsivo che selezionerà degli elementi tra quelli selezionati a questo livello di definizione dell'ancoraggio.

PlacementStyleObj

I campi da specificare nell'oggetto di configurazione style sono i seguenti:

Nome campo Tipo Descrizione
top_m number Un campo facoltativo che indica il numero di pixel che deve misurare il margine superiore di un annuncio inserito in questo posizionamento. Il valore predefinito è 0.
bot_m number Un campo facoltativo che indica il numero di pixel che deve misurare il margine inferiore di un annuncio inserito in questo posizionamento. Il valore predefinito è 0.

RelativePositionEnum

I valori ENUM per il campo pos nell'oggetto di configurazione placements sono i seguenti:

Nome Valore Descrizione
BEFORE 1 L'annuncio deve essere inserito come pari livello immediatamente prima dell'ancoraggio.
FIRST_CHILD 2 L'annuncio deve essere inserito come primo tag secondario dell'ancoraggio.
LAST_CHILD 3 L'annuncio deve essere inserito come ultimo tag secondario dell'ancoraggio.
AFTER 4 L'annuncio deve essere inserito come pari livello immediatamente dopo l'ancoraggio.

PlacementTypeEnum

I valori ENUM per il campo type nell'oggetto di configurazione placements sono i seguenti:

Nome Valore Descrizione
BANNER 1 Il posizionamento descrive la posizione di un annuncio banner.

AdConstraintsObj

I campi da specificare nell'oggetto di configurazione adConstraints sono i seguenti:

Nome campo Tipo Descrizione
initialMinSpacing string Un campo obbligatorio che indica la distanza minima che un annuncio dovrebbe avere dagli annunci già presenti sulla pagina (posizionati manualmente o inseriti da amp-auto-ads) al momento dell'inserimento. I valori sono espressi come numeri con prefisso di unità. Ad esempio, "10 px" significa 10 pixel, o "0.5 vp" significa metà dell'altezza dell'area visibile. I valori negativi non sono validi. Le unità supportate sono:
  • px: pixel
  • vp: multiplo dell'altezza dell'area visibile
Questo valore si applica solo quando il numero di annunci già presenti sulla pagina è inferiore a qualsiasi corrispondenza adCount specificata nel campo subsequentMinSpacing.
subsequentMinSpacing Array<!SubsequentMinSpacingObj> Un campo facoltativo che specifica le spaziature degli annunci da rispettare sulla base del numero di annunci già presenti sulla pagina al momento dell'inserimento.
maxAdCount number Un campo obbligatorio che specifica il numero massimo di annunci che possono comparire in una pagina tramite amp-auto-ads. Vengono conteggiati sia gli annunci posizionati manualmente che quelli inseriti da amp-auto-ads. Ad esempio, se imposti questo campo su 5 e sulla pagina ci sono già 3 annunci posizionati manualmente, amp-auto-ads vi inserirà al massimo altri 2 annunci.

SubsequentMinSpacingObj

I campi da specificare nell'oggetto di configurazione subsequentMinSpacing. Le voci subsequentMinSpacing possono essere utilizzate per modificare la spaziatura obbligatoria tra gli annunci aggiuntivi a seconda del numero di annunci già presenti sulla pagina. Ad esempio, se si hanno:

  • 2 annunci esistenti sulla pagina
  • Il campo subsequentMinSpacing seguente è: [ {adCount: 3, spacing: "500px"}, {adCount: 5, spacing: "1000px"}, ]

Inizialmente vi sono 2 annunci sulla pagina, quindi nessuna mappatura corrisponde. Pertanto, la spaziatura minima viene impostata in modo predefinito su initialMinSpacing nell'oggetto AdConstraints. amp-auto-ads cercherà ripetutamente di inserire annunci fino a che non avrà esaurito i posizionamenti utilizzabili senza infrangere i limiti imposti da adContraints. Dopo che amp-auto-ads ha posizionato il suo primo annuncio, ci sono 3 annunci sulla pagina. Dato che la mappatura di subsequentMinSpacing prevede 3 o più annunci, la spaziatura minima diventa di 500 px. Ciò si applica fino a che non ci sono 5 annunci sulla pagina, dato che esiste una regola per 5 annunci. Per inserire sei o più annunci, è necessario che questi siano distanti da altri annunci almeno 1000 px.

Nome campo Tipo Descrizione
adCount number Un campo obbligatorio. Il numero minimo di annunci già presenti nella pagina che determinano l'applicazione di questa regola se nessun'altra regola rappresenta una corrispondenza migliore. Vedi la descrizione sopra per una spiegazione più dettagliata.
spacing string Un campo obbligatorio che specifica la spaziatura minima degli annunci applicata quando questa regola trova corrispondenze sulla base di adCount. I valori sono espressi come numeri con prefisso di unità. Ad esempio, "10 px" significa 10 pixel, o "0.5 vp" significa metà dell'altezza dell'area visibile. I valori negativi non sono validi. Le unità supportate sono:
  • px: pixel
  • vp: multiplo dell'altezza dell'area visibile

Convalida

Consulta le regole amp-auto-ads nella specifica dello strumento di convalida AMP.

Serve ancora aiuto?

You've read this document a dozen times but it doesn't really cover all of your questions? Maybe other people felt the same: reach out to them on Stack Overflow.

Go to Stack Overflow
Found a bug or missing a feature?

The AMP project strongly encourages your participation and contributions! We hope you'll become an ongoing participant in our open source community but we also welcome one-off contributions for the issues you're particularly passionate about.

Go to GitHub