Kullanıcı depolama alanı

Webhook çağrısında, belirli bir kullanıcının parametre değerlerini kullanıcı depolama alanındaki oturumlar. İşleminiz, depolanan bu değerleri daha sonra istemler ve koşullar ile webhook kodunuz kullanıcının depolama alanındaki değerlere erişebilir kullanıcı için geçerli değildir.

Kullanıcı depolama alanının durumu app.handle() isteğinde iletilir ve depolanır user nesnesinin yerini alır.

Sohbetlerde veri okuma ve yazma

Kullanıcı depolama alanını güncellemek veya yeni bir değer belirlemek için bu değeri params öğesine atayın. alanı için dönüşüm gerçekleştiren user nesnesidir. Aşağıdaki örnek "örnekRenk" "kırmızı" olarak kullanıcının depolama alanında:

Node.js

// Assign color to user storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.user.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

Kullanıcı 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. kullanıcıda depolama alanı:

Node.js

// Retrieve color from user storage
app.handle('getStoredColor', conv => {
  let color = conv.user.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "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 kullanıcının depolama alanında:

Node.js

// Clear color from user storage
app.handle('clearStoredColor', conv => {
  conv.user.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED"
      }
    }
  }
}
    

İstemlerdeki depolanan değerlere başvurma

Kullanıcı depolama alanında depolanan değerlere bir istemde başvurabilirsiniz. Referans olarak değeri için $user.params.PARAMETER_NAME söz dizimi kullanın; burada PARAMETER_NAME parametresi ayarlandı.

Örneğin, önceden kullanıcı depolama alanında bir renk değerini exampleColor parametresinden yararlanın. Bir istemde bu değere erişmek için değeri ($user.params.exampleColor kullanarak):

JSON

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

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

Ayrıca, koşullarda kullanıcı depolama alanında depolanan değerlere de başvurabilirsiniz. Alıcı: değere başvuruda bulunmak için, user.params.PARAMETER_NAME söz dizimi; burada PARAMETER_NAME, web kancası ile otomatik olarak doldurulur.

Örneğin, önceden kullanıcı depolama alanında bir renk değerini exampleColor parametresini içeriyor ve "red" değeriyle eşleştirmek istiyorsanız koşul. Koşulunuzda, saklanan değere şunu kullanarak başvurursunuz: user.params.exampleColor Koşul ifadeniz şöyle görünür:

Koşul söz dizimi

user.params.exampleColor == "red"
    

Kullanıcı depolama alanı verilerinin geçerlilik süresi

Doğrulanmış kullanıcılar için, kullanıcı depolama alanında depolanan verilerin süresi şuna göre dolar: Web ve Uygulama Etkinliği ayarlarına erişebilir ve işlem kendiliğinden de temizlenebilir. Asistan, doğrulanmayan kullanıcılar için şuradaki kullanıcı depolama alanının içeriğini temizler: sonuna geldik.

Actions on Google, her oturumun başında kullanıcının doğrulama durumunu çeşitli göstergelere dayanarak konuşmaya başlamak. Farklı Örneğin, mobil cihazında Google Asistan'a giriş yapan bir kullanıcının VERIFIED için doğrulama durumu.

Bir kullanıcının doğrulama durumuna sahip olmasının olası nedenleri şunlardır: GUEST:

  • Kullanıcı kişisel sonuçları kapatmıştır.
  • Kullanıcı, Web ve Uygulama Etkinliği. Bazı teslimatların kullanıcılarda bu ayar alan adı düzeyinde devre dışı bırakılmış olabilir.
  • Bir cihazda Voice Match etkinse ve eşleştirme başarısız olursa ya da kullanıcı şunu çağırırsa: Asistan'ın sesini kullanmadan (ör. Nest Home'a uzun basmak) cihazda) olduğunu varsayalım.
  • Kullanıcı oturum açmamıştır.

Verileri kullanıcıyla birlikte depolamadan önce her zaman kullanıcının doğrulama durumunu kontrol edin Misafir kullanıcıların başarısız olacak bir özellikle etkileşimde bulunmasını önlemek için depolama alanı optimize edebilirsiniz.

Kullanıcılara görünürlük

Kullanıcı olarak, çağırdığınız İşlemler için kullanıcı depolama alanınızda depolanan verileri görüntüleyebilirsiniz. Ayrıca, kullanıcı depolama alanınızda depolanan verileri belirli bir İşlemden kaldırabilir veya hizmetin sizi hatırlamasını durdurun.

Depolanmış verilerinizi görüntülemek veya bir hizmetin sizi hatırlamasını durdurmak için şu adımları uygulayın: için şu adımları izleyin:

  1. Asistan dizinine gidin.
  2. Görüntülemek veya kullanıcı depolama alanınızı temizlemek istediğiniz işlemi bulup seçin.
  3. Sayfanın alt kısmına gidin:
    • Kullanıcı depolama alanınızın içeriğini görüntülemek için [Depolanan verileri göster] seçeneğini tıklayın.
    • Hizmet için kullanıcı depolama alanınızda depolanan verileri sıfırlamak için Sıfırla'yı tıklayın.
    • Kullanıcı depolama alanınızda depolanan verileri kaldırmak ve hizmeti durdurmak için sizi hatırlamak için action_name beni hatırlamasını durdur'u tıklayın.