Ogni entità inviata a Google, tramite feed o aggiornamenti in tempo reale,
ha una versione associata. Questa versione si presenta sotto forma di timestamp. Nella
feed, il timestamp può essere fornito per ogni entità utilizzando l'attributo dateModified
. Se l'attributo non include le entità del feed, la versione è
all'ora di inizio dell'importazione del feed. In aggiornamenti in tempo reale batchPush
e
batchDelete
, rispettivamente, i campi generation_timestamp
e delete_time
utilizzate per impostare la versione. Se il campo non è incluso, la versione è impostata su
l'ora in cui è stata ricevuta la richiesta. Visualizza il formato previsto dell'ora
nello schema dell'inventario relazionale.
Google elabora solo entità (ad esempio un ristorante, un menu o un servizio). con una versione uguale o più recente dell'ultima versione accettata. In caso contrario, l'entità non viene importata e viene registrato l'errore di entità inattiva. Quando viene aggiornata con una nuova versione, il timestamp dell'ultima modifica viene aggiornato a l'ora corrente in cui è stato aggiornato.
Esempio
Supponiamo che venga generato un feed il 16 giugno alle 01:10 UTC con l'esempio seguente inclusa l'entità.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Il feed non è ancora stato importato da Google. Più tardi quel giorno alle
2022-06-16T01:22:00.000Z
, Google riceve un
aggiornamento in tempo reale batchPush
richiesta con il seguente
dell'oggetto.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
La versione per l'ID entità del ristorante restaurant12345
è ora
2022-06-16T01:20:00.000Z
e il timestamp dell'ultima modifica dell'entità impostato
a 2022-06-16T01:22:00.000Z
. In sintesi, l'ora dell'ultima modifica è l'ora
che l'entità è stata aggiornata nell'inventario di Google e che la versione
generation_timestamp
dalla richiesta di aggiornamento in tempo reale o dal
dateModified
valore dal feed.
L'importazione del feed inizierà quindi il 16 giugno alle 02:00 UTC. In questa situazione,
l'entità ricevuta nel feed con versione 2022-06-16T01:10:00.000Z
è
considerata obsoleta e non importata. Di conseguenza, Google continua a servire
con versione 2022-06-16T01:20:00.000Z
dell'entità
una richiesta di aggiornamento in tempo reale.
Best practice:
- Implementa un timestamp nei feed per ogni entità.
- Applica le modifiche di aggiornamento in tempo reale al tuo prossimo feed e imposta il dateModified nelle entità del feed sull'ora corrente in cui ha creato il feed.