Setiap entitas yang dikirim ke Google, baik melalui feed atau update real-time,
memiliki versi yang disertakan. Versi ini tersedia dalam bentuk stempel waktu. Dalam
feed, stempel waktu dapat diberikan untuk setiap entitas menggunakan atribut
dateModified
. Jika atribut tidak menyertakan entitas feed, versi akan
ditetapkan ke waktu mulai penyerapan feed. Dalam update real-time batchPush
dan
batchDelete
, kolom generation_timestamp
dan delete_time
digunakan untuk menetapkan versi. Jika kolom tidak disertakan, versi akan ditetapkan ke waktu saat permintaan diterima. Lihat format yang diharapkan untuk nilai
waktu
dalam skema inventaris relasional.
Google hanya memproses entitas (misalnya: restoran, menu, atau layanan) dengan versi yang sama dengan atau lebih baru dari versi yang terakhir diterima. Jika tidak, entitas tidak akan diserap dan error Entitas Lama akan dicatat. Saat entity diperbarui dengan versi baru, stempel waktu yang terakhir diubah akan diperbarui ke waktu saat ini ketika entitas tersebut diperbarui.
Contoh
Misalnya, feed dibuat pada 16 Juni pukul 01.10 UTC dengan menyertakan contoh entitas berikut.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Feed belum diserap oleh Google. Beberapa hari kemudian pada
2022-06-16T01:22:00.000Z
, Google menerima
permintaan batchPush
update real-time dengan entitas
berikut.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
Versi untuk ID entitas restoran restaurant12345
sekarang adalah
2022-06-16T01:20:00.000Z
dan stempel waktu terakhir diubah entitas ditetapkan
ke 2022-06-16T01:22:00.000Z
. Singkatnya, waktu terakhir diubah adalah waktu
saat entity diupdate di inventaris Google dan versinya adalah
nilai generation_timestamp
dari permintaan update real-time atau
nilai dateModified
dari feed.
Proses transfer feed akan dimulai pada tanggal 16 Juni pukul 02.00 UTC. Dalam situasi ini,
entity yang diterima di feed dengan versi 2022-06-16T01:10:00.000Z
dianggap tidak berlaku dan tidak diserap. Oleh karena itu, Google terus menayangkan entity dengan versi 2022-06-16T01:20:00.000Z
dari permintaan update real-time.
Praktik terbaik:
- Terapkan stempel waktu dalam feed untuk setiap entitas.
- Terapkan perubahan update real-time ke feed berikutnya dan tetapkan stempel waktu dateModified dalam entity feed ke waktu saat ini saat Anda membuat feed.