घर का स्टोरेज

वेबहुक कॉल में, कई सेशन में पैरामीटर वैल्यू को इसमें स्टोर किया जा सकता है होम ग्राफ़ के हिसाब से, एक ही होम के लिए असाइन किया गया हो. आपकी सेट की गई कार्रवाई ये काम कर सकती है फिर बाद में प्रॉम्प्ट और शर्तों में सेव की गई वैल्यू का इस्तेमाल करें. साथ ही, अपने वेबहुक में ज़रूरत पड़ने पर कोड, किसी परिवार के लिए होम स्टोरेज में मौजूद वैल्यू को ऐक्सेस कर सकता है.

होम स्टोरेज की स्थिति app.handle() के अनुरोध में पास की जाती है और सेव की जाती है home ऑब्जेक्ट में.

सीमाएं

होम के स्टोरेज का इस्तेमाल मोबाइल डिवाइसों से नहीं किया जा सकता, क्योंकि ये किसी होम का हिस्सा नहीं हैं ग्राफ़. अपने वेबहुक कोड में, HOME_STORAGE डिवाइस की सुविधा का इस्तेमाल करें उपयोगकर्ता के डिवाइस की क्षमता के आधार पर, कारोबारी लॉजिक को मैनेज किया जा सकता है.

होम स्टोरेज का इस्तेमाल करने के लिए, आपको ऑप्ट-इन करना होगा:

  1. Actions कंसोल में, Deploy पर जाएं > डायरेक्ट्री की जानकारी.
  2. ज़्यादा जानकारी सेक्शन में, होम का बॉक्स चुनें डिवाइस की मेमोरी पर टैप करें.

घर में मौजूद डेटा को पढ़ें और उसमें बदलाव करें

होम स्टोरेज में अपडेट करने या कोई नई वैल्यू सेट करने के लिए, params को वैल्यू असाइन करें वेबहुक कॉल में home ऑब्जेक्ट के फ़ील्ड में. यह उदाहरण "exampleColor" सेट करता है "लाल" में होम स्टोरेज में:

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

होम स्टोरेज में सेव किए गए डेटा को ऐक्सेस करने के लिए, उसे वेबहुक में कोई वैरिएबल असाइन करें कॉल. नीचे दिए गए उदाहरण में, "exampleColor" से वैल्यू ली गई है होम में डिवाइस का स्टोरेज:

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

पहले सेव की गई वैल्यू को हटाने के लिए, वेबहुक कॉल में वैल्यू को null पर सेट करें. नीचे दिए गए उदाहरण में, "exampleColor" वैल्यू को हटाया गया है होम स्टोरेज में:

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

प्रॉम्प्ट में सेव की गई वैल्यू का रेफ़रंस देना

होम स्टोरेज में सेव की गई वैल्यू का रेफ़रंस देने के लिए, प्रॉम्प्ट का इस्तेमाल करें. रेफ़रंस के लिए वैल्यू, $home.params.PARAMETER_NAME का इस्तेमाल करें सिंटैक्स, जहां PARAMETER_NAME पैरामीटर सेट करते समय वेबहुक.

उदाहरण के लिए, आपने होम स्टोरेज में पहले रंग की वैल्यू इस तरह सेव की थी पैरामीटर exampleColor. किसी प्रॉम्प्ट में उस वैल्यू को ऐक्सेस करने के लिए, $home.params.exampleColor का इस्तेमाल करके वैल्यू:

JSON

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

स्टोर की गई वैल्यू का रेफ़रंस देने की सुविधा

होम स्टोरेज में सेव की गई वैल्यू को स्थितियों के हिसाब से भी रेफ़रंस किया जा सकता है. यहां की यात्रा पर हूं इस वैल्यू का रेफ़रंस देने के लिए, home.params.PARAMETER_NAME का इस्तेमाल करें सिंटैक्स, जहां PARAMETER_NAME पैरामीटर सेट करते समय वेबहुक.

उदाहरण के लिए, आपने होम स्टोरेज में पहले रंग की वैल्यू इस तरह सेव की थी पैरामीटर exampleColor और आप उसका मिलान "लाल" मान से करना चाहते हैं में स्थिति. आपकी शर्त में, आप इसका इस्तेमाल करके स्टोर वैल्यू का रेफ़रंस देते हैं home.params.exampleColor. इसके बाद, आपकी स्थिति से जुड़ा एक्सप्रेशन ऐसा दिखेगा शामिल करें:

शर्त का सिंटैक्स

home.params.exampleColor == "red"
    

होम में जोड़े गए स्टोरेज के डेटा की समयसीमा खत्म होने की तारीख

कार्रवाई के लगातार 90 दिनों के बाद, होम स्टोरेज का डेटा वाइप कर दिया जाएगा शुरू किया गया. होम ग्राफ़ से जुड़े किसी भी डिवाइस पर कार्रवाई शुरू करना स्ट्रक्चर 90 दिनों के टाइमर को रीसेट करता है. अगर किसी होम ग्राफ़ का स्ट्रक्चर मिटा दिया जाता है, तो होम में मौजूद स्टोरेज का डेटा मिटा दिया जाता है.

होम के स्टोरेज का इस्तेमाल करने वाली कार्रवाइयों के लिए, होम ग्राफ़ के मैनेजर होम को खाली कर सकते हैं Assistant डायरेक्ट्री में, कार्रवाई के पेज से मैनेज किए जाने वाले स्ट्रक्चर के लिए स्टोरेज:

  1. वह कार्रवाई ढूंढें और चुनें जिसके लिए आपको उपयोगकर्ता का स्टोरेज देखना है या उसका स्टोरेज खाली करना है.
  2. स्क्रोल करके पेज पर सबसे नीचे जाएं:
    • होम स्टोरेज में सेव किया गया डेटा हटाने के लिए, action_name बंद करें पर क्लिक करें मुझे याद रखने से रोकना.

जब किसी डिवाइस का मैनेजर उसे स्ट्रक्चर से अलग करता है, तो होम स्टोरेज के तौर पर भी अलग-अलग हैं. होम के स्टोरेज का डेटा किसी डिवाइस से जुड़ा होता रहेगा भले ही, स्ट्रक्चर मैनेजर बदल जाए, जब तक कि कोई स्ट्रक्चर मैनेजर इसे हटा न दे.

सिम्युलेटर में होम स्टोरेज का डेटा

कार्रवाइयां कंसोल में सिम्युलेटर का इस्तेमाल करके अपनी कार्रवाई की जाँच करते समय, होम स्टोरेज में सेव किया गया डेटा, किसी फ़िज़िकल डेटा के मुकाबले थोड़ा अलग तरह से काम करता है डिवाइस. सिम्युलेटर को उसके अपने होम ग्राफ़ का हिस्सा माना जाता है. इसलिए, डेटा से आपके नेटवर्क में मौजूद अन्य डिवाइसों पर भी बनी रहती है. इसके अलावा, होम स्टोरेज डेटा सभी सेशन में सेव नहीं होता है. ऐसा तब होता है, जब सिम्युलेटेड सिम्यूलेट की पुष्टि नहीं की जाती है उपयोगकर्ता सिम्युलेटर सेटिंग चालू हो.

सैंपल इंटरैक्शन

यहां साइन इन किए हुए उपयोगकर्ता के पहली बार शुरू करने पर इंटरैक्शन का एक नमूना दिया गया है कार्रवाई:

उपयोगकर्ता की क्वेरी Ok Google, ExampleAction से बात करें.
Assistant का जवाब ExampleAction लाया जा रहा है.
Assistant का जवाब आपकी जानकारी के लिए बता दूँ कि जब भी ExampleAction को चलाया जाता है, तो वह सेव हो जाता है. इसलिए आपके परिवार के दूसरे लोग वहीं से शुरू कर सकते हैं जहां आपने छोड़ा था.
ExampleAction जवाब नमस्ते, पुष्टि किए गए उपयोगकर्ता. आप लेवल 0 पर हैं. आगे बढ़ें, रीसेट करें या रद्द करें बोलें.
उपयोगकर्ता की क्वेरी अगला पर टैप करें.
ExampleAction जवाब आप लेवल 1 पर हैं.
उपयोगकर्ता की क्वेरी छोड़ें पर टैप करें.

इसके बाद, जब पुष्टि किया गया उपयोगकर्ता कुछ समय बाद कार्रवाई में वापस आता है, तो:

उपयोगकर्ता की क्वेरी Ok Google, ExampleAction से बात करें.
Assistant का जवाब ExampleAction लाया जा रहा है.
ExampleAction जवाब नमस्ते, पुष्टि किए गए उपयोगकर्ता. आप लेवल 1 पर हैं. आगे बढ़ें, रीसेट करें या रद्द करें बोलें.
उपयोगकर्ता की क्वेरी अगला पर टैप करें.
ExampleAction जवाब आप लेवल 2 पर हैं.
उपयोगकर्ता की क्वेरी छोड़ें पर टैप करें.

अगले दिन, एक पुष्टि नहीं किया गया उपयोगकर्ता किसी दूसरे डिवाइस पर कार्रवाई के साथ इंटरैक्ट करता है एक ही परिवार के सदस्य हों (जैसा कि होम ग्राफ़ में बताया गया है).

उपयोगकर्ता की क्वेरी Ok Google, ExampleAction से बात करें.
Assistant का जवाब ExampleAction लाया जा रहा है.
Assistant का जवाब आपकी जानकारी के लिए बता दूँ कि जब भी ExampleAction को चलाया जाता है, तो वह सेव हो जाता है. इसलिए आपके परिवार के दूसरे लोग वहीं से शुरू कर सकते हैं जहां आपने छोड़ा था.
ExampleAction जवाब नमस्ते, मेहमान उपयोगकर्ता. आप लेवल 2 पर हैं. आगे बढ़ें, रीसेट करें या रद्द करें बोलें.
उपयोगकर्ता की क्वेरी अगला पर टैप करें.
ExampleAction जवाब आप लेवल 3 पर हैं.
उपयोगकर्ता की क्वेरी छोड़ें पर टैप करें.