Cada entidad que se envía a Google, ya sea a través de feeds o actualizaciones en tiempo real,
tiene una versión adjunta. Esta versión se presenta en forma de una marca de tiempo. En
feeds, se puede proporcionar la marca de tiempo para cada entidad con el dateModified
. Si no se incluye el atributo en las entidades del feed, la versión se
se establece en la hora de inicio de la transferencia del feed. Se actualiza en tiempo real batchPush
y
batchDelete
, respectivamente, los campos generation_timestamp
y delete_time
se usan para configurar la versión. Si no se incluye el campo, la versión se establece en
la hora en que se recibió la solicitud. Ver el formato esperado de hora
valores
en el esquema del inventario relacional.
Google solo procesa entidades (por ejemplo, un restaurante, un menú o un servicio). con una versión igual o posterior a la última versión aceptada. De lo contrario, el no se transfiere y se registra el error Stale Entity. Cuando un una entidad se actualiza con una versión nueva, la marca de tiempo de la última modificación se actualiza a la hora actual a la que se actualizó.
Ejemplo
Supongamos que se genera un feed el 16 de junio a la 1:10 UTC con el siguiente ejemplo: con una entidad única incluida.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Google aún no transfiere el feed. Más tarde ese mismo día, a las
2022-06-16T01:22:00.000Z
, Google recibe un
solicitud de batchPush
actualización en tiempo real con lo siguiente
.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
Ahora la versión del ID de entidad del restaurante restaurant12345
es
Se establecen 2022-06-16T01:20:00.000Z
y la marca de tiempo de la última modificación de la entidad
a 2022-06-16T01:22:00.000Z
. En resumen, la última hora de modificación es la hora
que la entidad se actualizó en el inventario de Google y que la versión es
generation_timestamp
de la solicitud de actualización en tiempo real o
Es un valor de dateModified
del feed.
La transferencia del feed comenzará el 16 de junio a las 02:00 UTC. En esta situación,
la entidad recibida en el feed con la versión 2022-06-16T01:10:00.000Z
es
se considera inactivo y no se transfiere. Por lo tanto, Google sigue ofreciendo
con la versión 2022-06-16T01:20:00.000Z
de la
una solicitud de actualización en tiempo real.
Prácticas recomendadas:
- Implementa una marca de tiempo en los feeds para cada entidad.
- Aplica los cambios de la actualización en tiempo real al próximo feed y establece la marca de tiempo dateModified en las entidades del feed y la hora actual en la que creó el feed.