Toplu feed'lerinizde bir öğenin sürümü
Feed'in zarfındaki dateModified
alanı:
{
"@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
alanında listelenen tüm varlıklar aynı zaman damgasına sahip olur.
e-postada belirtildiği gibi gönderin.
Örneğin, iki öğe içeren aşağıdaki feed'iniz olabilir:
{
"@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"
...
}
]
}
Hem menü hem de restoran varlıkları alınıp işlendikten sonra şeklinde olacaktır.
Artımlı güncellemelerle sürüm oluşturma
Envanter güncellemelerini kullanarak bir varlık gönderirken sürüm
update_time
alanını (ekleme/güncelleme çağrısında) veya delete_time
alanına dokunun (silme çağrısı durumunda). Bu alanlar isteğe bağlı olduğundan,
varsayılan zaman damgası, Google'ın aramayı aldığı zamana ayarlanır.
1. Örnek: update_time açıkça ayarlandı
2018-12-28T06:30:10:123-07:00 tamamen yeni bir restoran için. Bu varlık için HTTP POST isteği "http://www.provider.com/somerestoran" kimliğiyle, veri feed'inin v1 envanter şeması:
POST v2/apps/provider-project/entities/http%3A%2F%2Fwww.provider.com%2Fnewrestaurant:push
Host: actions.googleapis.com
Content-Type: application/ld+json
Aşağıda, JSON yük gövdesi, update_time
alanını içermektedir. İlgili varlık
Kimlik "http://www.provider.com/restoran" bu varlığın
bu sürüm 6:30:00 olarak oluşturulur ve alındığında (on saniye sonra)
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. Örnek: Update_time dolaylı yoldan ayarlandı
2018-12-28T06:30:10:123-07:00 tamamen yeni bir restoran için. Bu varlık için HTTP POST isteği "http://www.provider.com/birrestoran" kimliğiyle (feed'in v1'i kullandığı varsayılarak) envanter şeması:
POST v2/apps/provider-project/entities/http%3A%2F%2Fwww.provider.com%2Fnewrestaurant:push
Host: actions.googleapis.com
Content-Type: application/ld+json
Aşağıdaki JSON yük gövdesi, update_time
alanını içermez. İlgili içeriği oluşturmak için kullanılan
"http://www.provider.com/restoran" kimliğine sahip varlık Bu nedenle,
6:30:10 olarak sürüm oluşturulan bu varlık:
{
// 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"
}
}
Toplu ve artımlı sürümler arasında sürüm oluşturma
Google'a gönderilen bir varlık, yalnızca en güncel sürümünü değil. Toplu taşıma işlemiyle gönderilen varlıkların alınmasının genellikle birkaç gün sürdüğünü unutmayın işlenir. Artımlı API üzerinden gönderilen öğeler ise işlenir. hemen teslim edebilirsiniz.
En iyi uygulamalar
update_time
vedateModified
alanlarını artımlı ve toplu olarak ayarlayın. değişiklik yapıldığından emin olun.- Bir toplu feed'de (dosya) birden fazla üst düzey öğe listeleniyorsa (örneğin, restoranlarınızı hizmetler ve menülerle eşleştirin) ardından zaman damgasını bir öğeye ait verilerin güncellenmesini sağlar.
- Artımlı çağrılarda,
update_time
alanı boş bırakılamaz. - Artımlı bir çağrı yapıldıktan sonra ilgili feed'in
Google tarafından tekrar gelmeden önce zaman damgası (
dateModified
) da güncellenir.
Örnek
Google, aşağıdaki dosyayı 28.12.2018 tarihinde saat 11:00'de getirir ve tamamen restoran:
{
"@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"
...
}
]
}
Bu varlıklar başarıyla işlenir ve "2018-12-28T06:30:00-07:00". Toplu feed'lerin işlenmesi zaman aldığından genellikle 2 gün sonra yayınlanır.
Ancak 13:00'te iş ortağının sistemi, restoranın telefonuna ilişkin bir güncelleme yapar. Bu da Google'ın aldığı aşağıdaki artımlı çağrıyla sonuçlanır 13:05'te (5 saniye sonra):
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
açık bir şekilde sağlanmış ve
aynı günün 06:30'u gibi). Böylece restoran varlığı
sürümü "2018-12-28T13:00:00-07:00" şeklinde görünür. Ancak menü ve hizmet varlıkları
sürümü de "2018-12-28T06:30:00-07:00" şeklinde olacak.
Artımlı bir çağrı olduğundan toplu feed, yeni ekleyebilirsiniz. Ayrıca, ilgili değişiklikler (restoran tüzel kişisinin telefon numarası güncellenmiş olmalıdır).
{
"@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"
...
}
]
}
Ertesi gün (29.12.2018) saat 23:00'te feed tekrar getirilir. Restoran hâlâ aynı sürüme sahip olduğundan (28 Aralık, 13:00) bu varlık atlanıyor ve geçerli sürüm korunur. Bununla birlikte, menü ve hizmet varlıkları yeni bir sürümle güncellendi.
Site haritası zaman damgaları
Site haritasındaki last-modified
yanıt üstbilgisi,
bir öğe sürümü olabilir. Feed'in Google tarafından ne zaman getirileceğini etkiler.
En iyi uygulamalar
- Yanıt başlığını yalnızca tüm dosyalar güncel ve güncellenmeye hazır olduğunda güncelleyin. getirildiğinden emin olun.
update_time
vedelete_time
öğelerini açık bir şekilde artımlı olarak kullanın.update_time
,delete_time
vedateModified
özelliklerini verilerin değiştiği zamana ayarlayın tercih edebilirsiniz.