Każdy element wysyłany do Google – za pomocą kanałów czy aktualizacji w czasie rzeczywistym –
ma dołączoną wersję. Ta wersja ma postać sygnatury czasowej. W
w plikach danych, możesz podać sygnaturę czasową w przypadku każdego elementu za pomocą funkcji dateModified
. Jeśli atrybut nie został uwzględniony w encji pliku danych, wersja będzie
na godzinę rozpoczęcia przetwarzania kanału. W czasie rzeczywistym: batchPush
i
batchDelete
odpowiednio generation_timestamp
i delete_time
są używane do określania wersji. Jeśli to pole nie zostało uwzględnione, wersja jest ustawiona na
czas otrzymania żądania. Sprawdź oczekiwany format czasu
wartości
w schemacie relacyjnych zasobów reklamowych.
Google przetwarza tylko elementy (np. restaurację, menu lub usługę) o wersji równej lub nowszej od ostatniej zaakceptowanej wersji. W przeciwnym razie element nie jest przetwarzany i rejestrowany jest błąd Stale Entity (Nieaktualna jednostka). Gdy encja zostanie zaktualizowana o nową wersję, sygnatura czasowa ostatniej modyfikacji zostanie zmieniona na aktualnej godziny aktualizacji.
Przykład
Załóżmy, że plik danych został wygenerowany 16 czerwca o godzinie 01:10 czasu UTC w tym przykładzie: .
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Kanał nie został jeszcze przetworzony przez Google. Później tego samego dnia o
2022-06-16T01:22:00.000Z
, Google otrzymuje
batchPush
żądanie aktualizacji w czasie rzeczywistym z następującymi wartościami
podmiotu zabezpieczeń.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
Wersja identyfikatora elementu restauracji restaurant12345
jest teraz
2022-06-16T01:20:00.000Z
i ustawiono ostatnio zmodyfikowaną sygnaturę czasową elementu.
do: 2022-06-16T01:22:00.000Z
. Podsumowując, czas ostatniej modyfikacji to czas,
że obiekt został zaktualizowany w zasobach Google, a wersja to
Wartość generation_timestamp
z żądania aktualizacji w czasie rzeczywistym lub
Wartość dateModified
z pliku danych.
Przetwarzanie pliku danych rozpocznie się 16 czerwca o godzinie 02:00 czasu UTC. W takim przypadku
element otrzymany w kanale z wersją 2022-06-16T01:10:00.000Z
to
są uznawane za nieaktualne i nie są przetwarzane. W związku z tym Google w dalszym ciągu wyświetla
element z wersją 2022-06-16T01:20:00.000Z
z parametru
aktualizację w czasie rzeczywistym.
Sprawdzone metody:
- Zaimplementuj sygnaturę czasową w plikach danych dla każdego elementu.
- zastosować zmiany aktualizacji w czasie rzeczywistym do następnego pliku danych, ustaw ten we sygnaturze czasowej dateModified w elementach kanału do aktualnej godziny, Użytkownik utworzył plik danych.