Ev depolama alanı

Bir webhook çağrısında, birden fazla oturumdaki parametre değerlerini şurada depolayabilirsiniz: aynı hanede (Home Graph'e göre) ev depolama alanındaki depolama alanını kullanır. İşleminiz şunları yapabilir: depolanan bu değerleri daha sonra istemlerde ve koşullarda kullanabilir, kodu, 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 depolanır home nesnesinin yerini alır.

Sınırlamalar

Ev depolama alanı, bir Home'un parçası olmadığı için mobil cihazlarla kullanılamaz Grafik. Webhook kodunuzda HOME_STORAGE cihaz özelliğini kullanın kullanıcı cihazının özelliklerine göre iş mantığını dallara ayırmanızı sağlar.

Ev depolama alanını kullanmak için etkinleştirmeniz gerekir:

  1. Actions konsolunda Dağıt'a gidin > Dizin bilgileri.
  2. Ek Bilgiler bölümünde Ana Sayfa kutusunu işaretleyin depolama alanı.
ziyaret edin.

Hanedeki verileri okuma ve yazma

Ev depolama alanını güncellemek veya yeni bir değer belirlemek için değeri params cihazına atayın. alanı için dönüşüm gerçekleştiren home nesnesidir. Aşağıdaki örnek "exampleColor" değerini ayarlar "kırmızı" olarak ev depolama alanında:

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 verileri webhook'taki bir değişkene atayın çağrısına bir tıklama URL'si eklemeniz gerekir. Aşağıdaki örnek, "exampleColor"dan bir değer alır. evde depolama alanı:

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"
      }
    }
  }
}
    

Daha önce kaydedilmiş bir değeri temizlemek için bir webhook çağrısında bu değeri null olarak ayarlayın. Aşağıdaki örnekte "exampleColor" değeri temizlenmektedir ev depolama alanında:

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": {}
    }
  }
}
    

İstemlerdeki depolanan değerlere başvurma

Ev depolama alanında depolanan değerlere istemde başvurabilirsiniz. Referans değer için $home.params.PARAMETER_NAME kullanın söz dizimi; burada PARAMETER_NAME, web kancası ile otomatik olarak doldurulur.

Örneğin daha önce ev depolama alanında exampleColor parametresinden yararlanın. Bir istemde bu değere erişmek için değeri ($home.params.exampleColor kullanarak):

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $home.params.exampleColor."
      }]
    }
  }]
}
    

Koşullar dahilinde kayıtlı değerlere başvurma

Ev depolama alanında depolanan değerlere koşullar bölümünden de referans verebilirsiniz. Alıcı: değere başvuruda bulunmak için, home.params.PARAMETER_NAME söz dizimi; burada PARAMETER_NAME, web kancası ile otomatik olarak doldurulur.

Örneğin daha önce ev depolama alanında exampleColor parametresini içeriyor ve "red" değeriyle eşleştirmek istiyorsanız koşul. Koşulunuzda, saklanan değere şunu kullanarak başvurursunuz: home.params.exampleColor Koşul ifadeniz şöyle görünür: bu:

Koşul söz dizimi

home.params.exampleColor == "red"
    

Ev depolama alanı verilerinin son kullanma tarihi

İşlem 90 gün art arda yapılmazsa evdeki depolama alanı verileri silinir çağrılır. İşlem, Home Graph ile ilişkili herhangi bir cihazda çağrılır yapı 90 günlük zamanlayıcıyı sıfırlar. Bir Home Graph yapısı silinirse ilgili ev depolama alanı verileri temizlenir.

Home Graph yapı yöneticileri, ev depolama alanını kullanan işlemler için ana ekranı temizleyebilir İşlemin Asistan dizinindeki sayfasından yönettikleri yapılar için depolama alanı:

  1. Görüntülemek veya kullanıcı depolama alanınızı temizlemek istediğiniz işlemi bulup seçin.
  2. Sayfanın alt kısmına gidin:
    • Evin depolama alanında sizin için depolanan verileri kaldırmak için Durdur action_name'i tıklayın beni hatırlamasını zorlaştırdı.
ziyaret edin.

Bir cihazın yöneticisi cihazın yapıyla olan ilişkisini kestiğinde, evdeki depolama alanı kopukluğunu da azalttı. Ev depolama alanı verileri bir cihazla ilişkilendirilmeye devam ediyor yapı yöneticisi değişse bile,

Simülatörde ev depolama verileri

Actions Console'daki simülasyon aracını kullanarak İşleminizi test ederken, evde depolanan verilerin işleyiş şekli, fiziksel olanak tanır. Simülatör, kendi Home Graph'in bir parçası olarak kabul edildiğinden veriler diğer cihazlarınız için de geçerlidir. Ayrıca, ana sayfa Doğrulanmamış Simüle Et kullanıcı simülasyon aracı ayarının etkinleştirilmesi gerekir.

Örnek etkileşim

Aşağıda, oturum açmış bir kullanıcının ilk kez çağrıldığında örnek bir etkileşimi görebilirsiniz. İşlem:

Kullanıcı sorgusu Ok Google, ExampleAction ile konuş.
Asistan yanıtı Ornekİşlemi Alma.
Asistan yanıtı Örnekİşlemi her oynattığınızda kaydedildiğinden emin olun. diğer kullanıcılar kaldığınız yerden devam edebilir.
Örnekİşlem yanıtı Merhaba doğrulanmış kullanıcı. 0. seviyedesiniz. İleri, sıfırla veya iptal deyin.
Kullanıcı sorgusu Sonraki.
Örnekİşlem yanıtı 1. seviyedesiniz.
Kullanıcı sorgusu Ayrıl öğesine dokunun.

Ardından, aynı doğrulanmış kullanıcı bir süre sonra İşleme geri döndüğünde:

Kullanıcı sorgusu Ok Google, ExampleAction ile konuş.
Asistan yanıtı Ornekİşlemi Alma.
Örnekİşlem yanıtı Merhaba doğrulanmış kullanıcı. 1. seviyedesiniz. İleri, sıfırla veya iptal deyin.
Kullanıcı sorgusu Sonraki.
Örnekİşlem yanıtı 2. seviyedesiniz.
Kullanıcı sorgusu Ayrıl öğesine dokunun.

Ertesi gün, doğrulanmamış bir kullanıcı başka bir cihazda İşlemle etkileşimde bulunur aynı hanede (Home Graph'te belirtildiği gibi).

Kullanıcı sorgusu Ok Google, ExampleAction ile konuş.
Asistan yanıtı Ornekİşlemi Alma.
Asistan yanıtı Örnekİşlemi her oynattığınızda kaydedildiğinden emin olun. diğer kullanıcılar kaldığınız yerden devam edebilir.
Örnekİşlem yanıtı Merhaba misafir kullanıcı. 2. seviyedesiniz. İleri, sıfırla veya iptal deyin.
Kullanıcı sorgusu Sonraki.
Örnekİşlem yanıtı 3. seviyedesiniz.
Kullanıcı sorgusu Ayrıl öğesine dokunun.