उपयोगकर्ता के लिए स्टोरेज

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

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

सभी बातचीत में डेटा पढ़ना और उसमें बदलाव करना

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

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

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

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

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

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

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

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

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

JSON

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

शर्तों में सेव की गई वैल्यू का रेफ़रंस

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

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

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

user.params.exampleColor == "red"
    

उपयोगकर्ता के स्टोरेज डेटा की समयसीमा खत्म होना

जिन उपयोगकर्ताओं की पुष्टि हो चुकी है उनके स्टोरेज में सेव किया गया डेटा, उनकी वेब और ऐप्लिकेशन गतिविधि की सेटिंग के हिसाब से खत्म हो जाता है. इसे सेट की गई कार्रवाई से भी मिटाया जा सकता है. जिन उपयोगकर्ताओं की पुष्टि नहीं हुई है उनके लिए Assistant, बातचीत के आखिर में उपयोगकर्ता के स्टोरेज में मौजूद कॉन्टेंट को मिटा देती है.

Actions on Google हर बातचीत की शुरुआत में उपयोगकर्ता की पुष्टि की स्थिति सेट करता है. यह बातचीत शुरू होने पर कई तरह के संकेतों के आधार पर होती है. उदाहरण के लिए, किसी उपयोगकर्ता ने अपने मोबाइल डिवाइस पर Google Assistant में लॉग इन किया है, तो उसकी पुष्टि की स्थिति VERIFIED है.

उपयोगकर्ता के पास, GUEST की पुष्टि की स्थिति दिखने की ये वजहें हो सकती हैं:

  • उपयोगकर्ता ने निजी खोज नतीजे पाने की सुविधा बंद की हो.
  • उपयोगकर्ता ने अपनी वेब और ऐप्लिकेशन गतिविधि बंद कर दी है. ध्यान रखें कि कुछ उपयोगकर्ताओं के लिए, डोमेन के लेवल पर यह सेटिंग बंद हो सकती है.
  • अगर किसी डिवाइस पर वॉइस मैच की सुविधा चालू है और मिलान नहीं हो पाता या उपयोगकर्ता, अपनी आवाज़ का इस्तेमाल किए बिना ही Assistant को चालू कर देता है (जैसे कि Nest Home डिवाइस को दबाकर रखना).
  • उपयोगकर्ता ने साइन इन नहीं किया है.

उपयोगकर्ता स्टोरेज में डेटा सेव करने से पहले, हमेशा उपयोगकर्ता की पुष्टि की स्थिति देखें. इससे मेहमान उपयोगकर्ताओं को किसी ऐसी सुविधा से इंटरैक्ट करने से रोकने में मदद मिलती है जो उनके लिए काम नहीं करती.

उपयोगकर्ताओं को किसको दिखे

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

सेव किया गया डेटा देखने या किसी सेवा को आपकी जानकारी याद रखने से रोकने के लिए, यह तरीका अपनाएं:

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