Webhook çağrısında, parametre değerlerini aynı hanedeki birden fazla oturumda depolayabilirsiniz (Home Grafiği'ne göre). İşleminiz daha sonra istem ve koşullar içinde depolanan bu değerleri kullanabilir ve webhook kodunuz gerektiğinde belirli bir hanenin ev depolama alanındaki değerlere erişebilir.
Ev depolama alanının durumu app.handle()
isteğinde iletilir ve home
nesnesinde depolanır.
Sınırlamalar
Ev depolama alanı, Home Grafiği kapsamında olmadığından mobil cihazlarla kullanılamaz. Webhook kodunuzda iş mantığını kullanıcının cihazının kapasitesine göre dallandırmak için HOME_STORAGE
cihaz özelliğini kullanın.
Ev depolama alanını kullanmayı etkinleştirmeniz gerekir:
- Actions Console'da Dağıt > Dizin bilgileri'ne gidin.
- Ek Bilgiler bölümünde Ev depolama alanı kutusunu işaretleyin.
Hanedeki verileri okuma ve yazma
Ev depolama alanını güncellemek veya yeni bir değer belirlemek için değeri, bir webhook çağrısında yer alan home
nesnesinin params
alanına atayın. Aşağıdaki örnekte ev depolama alanında "exampleColor" için "kırmızı" değeri ayarlanmaktadır:
Node.js
// Assign color to home storage app.handle('storeColor', conv => { let color = 'red'; conv.home.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": { "exampleColor": "red" } } } }
Ev depolama alanında depolanan verilere erişmek için webhook çağrısındaki bir değişkene atayın. Aşağıdaki örnek, ev depolama alanındaki "exampleColor" öğesinden bir değer alır:
Node.js
// Retrieve color from home storage app.handle('getStoredColor', conv => { let color = conv.home.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": { "homeColor": "red" } } } }
Önceden kaydedilmiş bir değeri temizlemek için webhook çağrısında bu değeri null
olarak ayarlayın.
Aşağıdaki örnek, ev depolama alanındaki "exampleColor" değerini temizler:
Node.js
// Clear color from home storage app.handle('clearStoredColor', conv => { conv.home.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "1234567890123456789", "params": {} }, "prompt": { "override": false }, "home": { "params": {} } } }
İstemlerde depolanan değerlere başvurma
Ev depolama alanında depolanan değerleri bir istemde referans alabilirsiniz. Değere atıfta bulunmak için $home.params.PARAMETER_NAME
söz dizimini kullanın; burada PARAMETER_NAME
, parametre ayarlanırken webhook'da verilen addır.
Örneğin, daha önce exampleColor
parametresi olarak ev depolama alanında bir renk değeri depolamıştınız. Bir istemde bu değere erişmek için $home.params.exampleColor
kullanarak bu değere referans verirsiniz:
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $home.params.exampleColor." }] } }] }
Koşullar dahilinde depolanan değerlere başvurma
Ayrıca, koşullarda ev depolama alanında depolanan değerlere bakabilirsiniz. Değere atıfta bulunmak için home.params.PARAMETER_NAME
söz dizimini kullanın; burada PARAMETER_NAME
, parametre ayarlanırken webhook'da verilen addır.
Örneğin, daha önce exampleColor
parametresi olarak ev depolama alanında bir renk değeri depolamış ve bu değeri bir koşulda "kırmızı" değeriyle eşleştirmek istediğinizi varsayalım. Koşullarınızda, depolanan değeri home.params.exampleColor
kullanarak belirtirsiniz. Koşul ifadeniz şu şekilde görünür:
Koşul söz dizimi
home.params.exampleColor == "red"
Ev depolama alanının süresinin dolması
İşlemin başlatılmamasından sonraki 90 gün boyunca ev depolama alanı verileri temizlenir. Home Graph yapısıyla ilişkili herhangi bir cihazda işlem yapıldığında 90 günlük zamanlayıcı sıfırlanır. Home Graph yapısı silinirse karşılık gelen ev depolama verileri temizlenir.
Home Graph yapı yöneticileri, ev depolama alanını kullanan Action'lar için, yönetmekte oldukları yapılara ilişkin ev depolama alanını Asistan dizinindeki İşlem sayfasından temizleyebilir:
- Kullanıcı depolama alanını görüntülemek veya temizlemek istediğiniz işlemi bulup seçin.
- Sayfanın alt kısmına gidin:
- Ev depolama alanınızda sizin için depolanan verileri kaldırmak için action_name ürününün beni hatırlamasını durdur'u tıklayın.
Bir cihazın yöneticisi cihazı yapıdan ayrıştırdığında, ev depolama alanı da kaldırılır. Ev yöneticisi verileri bir yapı yöneticisi temizlemediği sürece yapı yöneticisi değişse bile o cihaz ile ilişkilendirilmeye devam eder.
Simülasyon aracında ev depolama alanı verileri
Actions Console'daki simülasyon aracını kullanarak Action'ınızı test ederken ev depolama alanında depolanan veriler, fiziksel cihazdakilerden biraz farklı davranır. Bu simülasyon aracı kendi Home Graph'in bir parçası olarak kabul edilir. Dolayısıyla, veriler ağınızda sahip olabileceğiniz diğer cihazlara bağlı olmaz. Ayrıca, Doğrulanmamış kullanıcı simülasyonu yap simülasyon ayarı etkinleştirildiğinde, depolama alanı verileri oturumlar genelinde saklanmaz.
Örnek etkileşim
Aşağıda, oturum açmış bir kullanıcının ilk kez Yaptırım çağrısıyla ilgili örnek bir etkileşim verilmiştir:
Kullanıcı sorgusu | Ok Google, ExampleAction ile konuşun. |
---|---|
Asistan yanıtı | ExampleAction alınıyor. |
Asistan yanıtı | ExampleAction'ın her oynattığınızda kaydedileceğini unutmayın. Böylece hanenizdeki diğer kullanıcılar kaldığınız yerden devam edebilirler. |
Örnekİşlem yanıtı | Merhaba doğrulanmış kullanıcı. 0. seviyedesiniz. Ardından şunu söyleyin, sıfırlayın veya iptal edin: |
Kullanıcı sorgusu | Sonraki. |
Örnekİşlem yanıtı | 1. seviyedesiniz. |
Kullanıcı sorgusu | Ayrıl öğesine dokunun. |
Aynı doğrulanmış kullanıcı bir süre sonra İşlem'e geri döndüğünde:
Kullanıcı sorgusu | Ok Google, ExampleAction ile konuşun. |
---|---|
Asistan yanıtı | ExampleAction alınıyor. |
Örnekİşlem yanıtı | Merhaba doğrulanmış kullanıcı. 1. seviyedesiniz. Ardından şunu söyleyin, sıfırlayın veya iptal edin: |
Kullanıcı sorgusu | Sonraki. |
Örnekİşlem yanıtı | 2. seviyedesiniz. |
Kullanıcı sorgusu | Ayrıl öğesine dokunun. |
Ertesi gün, doğrulanmamış kullanıcı aynı hanede başka bir cihazda işlem gerçekleştirdiğinde (Home Graph'te belirtildiği gibi).
Kullanıcı sorgusu | Ok Google, ExampleAction ile konuşun. |
---|---|
Asistan yanıtı | ExampleAction alınıyor. |
Asistan yanıtı | ExampleAction'ın her oynattığınızda kaydedileceğini unutmayın. Böylece hanenizdeki diğer kullanıcılar kaldığınız yerden devam edebilirler. |
Örnekİşlem yanıtı | Merhaba misafir kullanıcı. 2. seviyedesiniz. Ardından şunu söyleyin, sıfırlayın veya iptal edin: |
Kullanıcı sorgusu | Sonraki. |
Örnekİşlem yanıtı | 3. seviyedesiniz. |
Kullanıcı sorgusu | Ayrıl öğesine dokunun. |