Sohbet İşlemleri, 13 Haziran 2023'te kullanımdan kaldırılacak. Daha fazla bilgi için Görüşme İşlemleri'nin kullanımdan kaldırılması başlıklı makaleyi inceleyin.

Ev depolama alanı

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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:

  1. Actions Console'da Dağıt > Dizin bilgileri'ne gidin.
  2. 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:

  1. Kullanıcı depolama alanını görüntülemek veya temizlemek istediğiniz işlemi bulup seçin.
  2. 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.