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 alır. 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:
- Asistan dizinine gidin.
- Görüntülemek veya kullanıcı depolama alanınızı temizlemek istediğiniz işlemi bulup seçin.
- 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.