일괄 피드에서 항목 버전은
dateModified
입력란에 값을 입력합니다.
{
"@context": "http://schema.googleapis.com",
"dateModified": "2018-12-28T06:30:00:123-07:00",
"@type": "DataFeed",
"dataFeedElement": [
/* All the items that are part of this feed go here */
]
}
dataFeedElement
필드에 나열된 모든 항목의 타임스탬프가 동일합니다.
봉투에 표시된 대로 할 수 있습니다.
예를 들어 항목이 두 개인 다음 피드가 있을 수 있습니다.
{
"@context": "http://schema.googleapis.com",
"@type": "DataFeed",
"dateModified": "2018-12-28T06:30:00:123-07:00",
"dataFeedElement": [
{
"@type": "Restaurant",
"@id": "http://www.provider.com/somerestaurant",
...
},
{
"@type": "Menu",
"@id": "http://www.provider.com/somerestaurant/menu/1"
...
}
]
}
메뉴와 식당 항목 모두 일단 수신되고 처리되면 '2018-12-28T06:30:00:123-07:00'으로 개별 버전이 지정됩니다.
증분 업데이트를 사용한 버전 관리
인벤토리 업데이트를 사용하여 항목을 전송할 때 버전은 다음을 통해 설정됩니다.
update_time
필드 (추가/업데이트 호출의 경우) 또는 delete_time
필드 (delete 호출의 경우)입니다. 이러한 필드는 선택사항이므로
기본 타임스탬프는 Google에서 전화를 받은 시간으로 설정됩니다.
예시 1: update_time이 명시적으로 설정됨
다음과 같은 증분 호출이 2018-12-28T06:30:10:123-07:00에 수신되었다고 가정해 보겠습니다. 완전히 새로운 식당을 찾고 있었습니다. 다음은 해당 항목에 대한 HTTP POST 요청입니다. ID가 'http://www.provider.com/somerestaurant'인 경우(데이터 피드가 살펴보겠습니다
POST v2/apps/provider-project/entities/http%3A%2F%2Fwww.provider.com%2Fnewrestaurant:push
Host: actions.googleapis.com
Content-Type: application/ld+json
아래 JSON 페이로드 본문에는 update_time
필드가 포함되어 있습니다. 이
ID 'http://www.provider.com/somerestaurant' 이 항목은
6:30:00으로 버전이 지정되며 수신 시점이 아닙니다 (10초 후
6:30:10):
{
// This envelope is to be used for incremental.
"entity": {
// Note: "data" is not serialized as a string in our example for readability.
"data": "[entity in JSON format serialized as a string]",
"vertical": "FOODORDERING&q
uot;
},
"update_time":"2018-12-28T06:30:00:123-07:00"
}
예시 2: update_time이 암시적으로 설정됨
다음과 같은 증분 호출이 2018-12-28T06:30:10:123-07:00에 수신되었다고 가정해 보겠습니다. 완전히 새로운 식당을 찾고 있었습니다. 다음은 해당 항목에 대한 HTTP POST 요청입니다. 피드가 v1 인벤토리 스키마:
POST v2/apps/provider-project/entities/http%3A%2F%2Fwww.provider.com%2Fnewrestaurant:push
Host: actions.googleapis.com
Content-Type: application/ld+json
아래에서 JSON 페이로드 본문에는 update_time
필드가 포함되지 않습니다. 이
ID가 'http://www.provider.com/somerestaurant'인 항목 그렇기 때문에
다음 항목은 6:30:10으로 버전이 지정됩니다.
{
// This envelope is to be used for incremental.
"entity": {
//Note: "data" is not serialized as a string in our example for readability.
"data": "[entity in JSON format serialized as a string]"
;,
"vertical": "FOODORDERING"
}
}
일괄 및 증분 간 버전 관리
Google로 전송된 개체는 최신 정보가 포함된 경우에만 처리되고 게재됩니다. 있습니다. 배치를 통해 전송된 항목은 일반적으로 증분 API를 통해 전송된 항목은 즉시 삭제할 수 있습니다
권장사항
- 증분 및 배치로
update_time
및dateModified
필드를 설정합니다. 시스템에서 항목이 수정된 시점을 기준으로 합니다. - 일괄 피드 (파일)에 두 개 이상의 최상위 항목이 나열되는 경우 (예: 식당을 서비스 및 메뉴와 짝지은 다음 타임스탬프를 항목의 데이터가 업데이트됩니다
- 증분 호출에서는
update_time
필드 - 증분 호출이 일단 이루어지면 해당 피드는 반드시
타임스탬프 (
dateModified
)도 Google이 다시 가져오기 전에 업데이트됩니다.
예
Google은 2018년 12월 28일 오전 11시에 음식점:
{
"@context": "http://schema.googleapis.com",
"@type": "DataFeed",
"dateModified": "2018-12-28T06:30:00-07:00",
"dataFeedElement": [
{
"@type": "Restaurant",
"@id": "http://www.provider.com/newrestaurant",
...
},
{
"@type": "Menu",
"@id": "http://www.provider.com/newrestaur
ant/menu/1"
...
}
{
"@type": "Service",
"@id": "http://www.provider.com/newrestaurant/service/1"
...
}
]
}
이러한 항목은 성공적으로 처리되며 "2018-12-28T06:30:00-07:00". 일괄 피드를 처리하는 데 시간이 걸리기 때문에 일반적으로 2일 후에 게재됩니다
하지만 오후 1시에 파트너의 시스템에서 레스토랑의 휴대전화로 업데이트됩니다. 이를 통해 Google이 수신하는 다음 추가 호출이 발생합니다. 13:05 (5초 후):
POST v2/apps/provider-project/entities/http%3A%2F%2Fwww.provider.com%2Fnewrestaurant:push
Host: actions.googleapis.com
Content-Type: application/ld+json
{
// This envelope is to be used for incremental.
"entity": {
//Note: "data" is not serialized as a string in our example for readability.
"data": "[entity in JSON format serialized as a string]",
"vertical": "FOODORDERI
NG"
},
"update_time":"2018-12-28T13:00:00-07:00"
}
update_time
가 명시적으로 제공되며
이전 버전 (같은 날의 오전 6:30)이므로 레스토랑 항목은 이제
'2018-12-28T13:00:00-07:00'으로 버전이 지정됩니다. 하지만 메뉴 및 서비스 개체는
여전히 '2018-12-28T06:30:00-07:00'으로 버전이 지정됩니다.
증분 호출이 있었으므로 일괄 피드가 새 해당하는 타임스탬프입니다. 또한 해당하는 변경사항이 관련 항목 (음식점 법인의 전화번호가 업데이트된 경우)
{
"@context": "http://schema.googleapis.com",
"@type": "DataFeed",
"dateModified": "2018-12-28T13:00:00-07:00",
"dataFeedElement": [
{
"@type": "Restaurant",
"@id": "http://www.provider.com/newrestaurant",
...
},
{
"@type": "Menu",
"@id": "http://www.provider.com/newrestaur
ant/menu/1"
...
}
{
"@type": "Service",
"@id": "http://www.provider.com/newrestaurant/service/1"
...
}
]
}
다음 날 (2018년 12월 29일) 오후 11시에 피드를 다시 가져옵니다. 식당 여전히 동일한 버전 (12월 28일 오후 1시)을 가지고 있으므로 이 항목은 삭제됩니다. 현재 버전은 유지됩니다 하지만 메뉴 및 서비스 개체는 새 버전으로 업데이트되었습니다.
사이트맵 타임스탬프
사이트맵의 last-modified
응답 헤더는
사용할 수 있습니다 Google에서 피드를 가져오는 시점에 영향을 미칩니다.
권장사항
- 모든 파일이 최신 상태이고 업데이트할 준비가 된 경우에만 응답 헤더를 업데이트합니다. 가져올 수 있습니다
- 명시적으로
update_time
및delete_time
를 증분 방식으로 사용합니다. update_time
,delete_time
,dateModified
를 데이터 변경 시로 설정합니다. 도움이 될 수 있습니다