לכל ישות שנשלחת ל-Google באמצעות פידים או עדכונים בזמן אמת מצורפת גרסה. הגרסה הזו כוללת חותמת זמן. אפשר לציין
בפידים את חותמת הזמן לכל ישות באמצעות המאפיין
dateModified
. אם המאפיין לא כולל את ישויות הפיד, הגרסה מוגדרת לשעת ההתחלה של הטמעת הנתונים של הפיד. העדכונים בזמן אמת batchPush
ו-batchDelete
, בהתאמה, משמשים להגדרת הגרסה באמצעות השדות generation_timestamp
ו-delete_time
. אם השדה לא כלול, הגרסה מוגדרת לזמן שבו הבקשה התקבלה. אפשר לראות את הפורמט הצפוי של ערכי זמן בסכימת המלאי היחסי.
Google מעבדת רק ישויות (לדוגמה: מסעדה, תפריט או שירות) שהגרסה שלהן דומה לגרסה האחרונה שאושרה או חדשה יותר. אחרת, הישות לא תטמיע את הנתונים ותתועד השגיאה Stale Entity. כש פרטים על ישות מתעדכן בגרסה חדשה, חותמת הזמן של השינוי האחרון מתעדכנת למועד הנוכחי שבו היא עודכנה.
דוגמה
נניח שנוצר פיד ב-16 ביוני בשעה 01:10 UTC ונכלל בו הישות לדוגמה הבאה.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Google עדיין לא מטמיעה את הפיד. מאוחר יותר באותו יום ב-2022-06-16T01:22:00.000Z
, Google מקבלת בקשה לעדכון בזמן אמת batchPush
עם הישות הבאה.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
הגרסה הנוכחית של מזהה ישות המסעדה restaurant12345
היא
2022-06-16T01:20:00.000Z
, וחותמת הזמן עם השינוי האחרון של הישות מוגדרת ל-2022-06-16T01:22:00.000Z
. לסיכום, זמן השינוי האחרון הוא המועד שבו הישות עודכנה במלאי של Google והגרסה היא הערך generation_timestamp
מבקשת העדכון בזמן אמת או הערך dateModified
מהפיד.
הטמעת הפיד מתחילה ב-16 ביוני בשעה 02:00 לפי שעון UTC. במצב כזה, הישות שמתקבלת בפיד עם גרסה 2022-06-16T01:10:00.000Z
נחשבת לא פעילה ולא מוטמעת בה. לכן, Google ממשיכה להציג את הישות בגרסה 2022-06-16T01:20:00.000Z
מהבקשה לעדכון בזמן אמת.
שיטות מומלצות:
- מטמיעים חותמת זמן בפידים לכל ישות.
- תוכלו להחיל את השינויים על העדכון בזמן אמת בפיד הבא ולהגדיר את חותמת הזמן של dateModified בישויות הפיד לזמן הנוכחי שבו יצרתם את הפיד.