ऐड-ऑन कार्रवाइयों की मदद से विजेट पर इंटरैक्टिव व्यवहार किया जा सकता है. कार्रवाई बनाकर, आप यह तय करते हैं कि जब कोई उपयोगकर्ता विजेट चुनता है या अपडेट करता है, तो क्या होता है.
ज़्यादातर मामलों में, ऐड-ऑन कार्रवाइयों के बारे में बताया जा सकता है. इसके लिए, आपको
Action
Apps Script कार्ड सेवा वाले ऑब्जेक्ट का इस्तेमाल करना होगा.
हर Action
को, किसी कॉलबैक फ़ंक्शन के साथ बनाया जाता है. जब उपयोगकर्ता विजेट से काम कर रहा हो,
तो आप मनचाहे कदम उठाने के लिए कॉलबैक फ़ंक्शन लागू करते हैं. आपको विजेट से Action
को भी लिंक करना होगा. इसके लिए, सही विजेट हैंडलर फ़ंक्शन का इस्तेमाल करें. इस फ़ंक्शन से, Action
कॉलबैक को ट्रिगर करने वाले इंटरैक्शन तय होते हैं.
इस सामान्य प्रोसेस का इस्तेमाल करके, Action
वाले विजेट को कॉन्फ़िगर करें:
- एक
Action
ऑब्जेक्ट बनाएं, जिसमें कॉलबैक फ़ंक्शन की जानकारी हो और उसे ज़रूरी पैरामीटर के साथ इस्तेमाल करना चाहिए. - विजेट पर,
Action
ऑब्जेक्ट का इस्तेमाल करके, सही विजेट हैंडलर फ़ंक्शन को कॉल करें. - ज़रूरी व्यवहार करने के लिए, कॉलबैक फ़ंक्शन लागू करें.
विजेट हैंडलर के फ़ंक्शन
विजेट को किसी खास Action
या अन्य तरीके से जोड़ने के लिए, विजेट हैंडलर फ़ंक्शन का इस्तेमाल किया जाता है. हैंडलर फ़ंक्शन तय करता है कि किस तरह का इंटरैक्शन
(उदाहरण के लिए, विजेट पर क्लिक करना या किसी टेक्स्ट फ़ील्ड में बदलाव करना)
कार्रवाई को ट्रिगर करता है. हैंडलर फ़ंक्शन यह भी तय करता है कि यूज़र इंटरफ़ेस (यूआई) क्या करता है.
नीचे दी गई टेबल में विजेट के अलग-अलग हैंडलर और उनके साथ इस्तेमाल किए गए विजेट के बारे में बताया गया है:
हैंडलर फ़ंक्शन | कार्रवाई को ट्रिगर करता है | लागू होने वाले विजेट | जानकारी |
---|---|---|---|
setOnChangeAction() |
विजेट की वैल्यू में बदलाव होता है |
DatePicker DateTimePicker SelectionInput Switch TextInput
TimePicker
|
Action
सेट करता है.
जब विजेट फ़ोकस खो देता है, तो यह Apps Script फ़ंक्शन लागू करता है.
उदाहरण के लिए, जब कोई उपयोगकर्ता इनपुट में टेक्स्ट डालता है और Enter दबाता है. हैंडलर अपने-आप
उस फ़ंक्शन को
इवेंट ऑब्जेक्ट पास करता है जिसे वह कॉल करता है.
अगर आप चाहें, तो इस इवेंट ऑब्जेक्ट में
अतिरिक्त पैरामीटर जानकारी डाल सकते हैं. |
setOnClickAction() |
उपयोगकर्ता विजेट पर क्लिक करता है |
CardAction Image ImageButton DecoratedText TextButton
|
Action सेट करता है, जो उपयोगकर्ता के विजेट पर क्लिक करने पर, Apps Script फ़ंक्शन लागू करता है. हैंडलर अपने-आप
उस फ़ंक्शन को
इवेंट ऑब्जेक्ट पास करता है जिसे वह कॉल करता है.
इस इवेंट ऑब्जेक्ट में, वैकल्पिक पैरामीटर की जानकारी डाली जा सकती है. |
setComposeAction() |
उपयोगकर्ता विजेट पर क्लिक करता है |
CardAction Image ImageButton DecoratedText TextButton
|
Gmail के हिसाब से ऐसा Action
सेट करता है जो
एक ईमेल ड्राफ़्ट बनाता है. इसके बाद, उस ड्राफ़्ट को उपयोगकर्ता को
Gmail यूज़र इंटरफ़ेस (यूआई) में लिखने की विंडो में दिखाता है. ड्राफ़्ट को नए मैसेज के तौर पर या Gmail में खोले गए मैसेज का जवाब देकर बनाया जा सकता है. जब हैंडलर
ड्राफ़्ट बनाने वाले कॉलबैक फ़ंक्शन को कॉल करता है, तो
वह कॉलबैक फ़ंक्शन में
एक इवेंट ऑब्जेक्ट पास करता है.
ज़्यादा जानकारी के लिए,
ड्राफ़्ट मैसेज लिखना
देखें. |
setOnClickOpenLinkAction() |
उपयोगकर्ता विजेट पर क्लिक करता है |
CardAction Image ImageButton DecoratedText TextButton
|
जब उपयोगकर्ता विजेट पर क्लिक करता है, तो Action खोलने के लिए, यूआरएल सेट करता है. इस हैंडल का इस्तेमाल तब करें, जब आपको यूआरएल बनाना हो या लिंक खुलने से पहले अन्य ज़रूरी कार्रवाइयां करनी हों. अगर ऐसा नहीं है, तो आम तौर पर, setOpenLink() का इस्तेमाल करना आसान होता है.
यूआरएल को सिर्फ़ नई विंडो में खोला जा सकता है. बंद होने पर, इस वजह से यूज़र इंटरफ़ेस (यूआई) को ऐड-ऑन फिर से लोड किया जा सकता है. |
setOpenLink() |
उपयोगकर्ता विजेट पर क्लिक करता है |
CardAction Image ImageButton DecoratedText TextButton
|
जब उपयोगकर्ता विजेट पर क्लिक करता है, तो सीधे यूआरएल खुलता है. इस हैंडलर का इस्तेमाल तब करें, जब आपको यूआरएल पता हो और सिर्फ़ इसे खोलना हो. ऐसा नहीं होने पर, setOnClickOpenLinkAction() का इस्तेमाल करें.
यूआरएल को नई विंडो या ओवरले में खोला जा सकता है. बंद होने पर, यूज़र इंटरफ़ेस (यूआई) पर ऐड-ऑन फिर से लोड किया जा सकता है. |
setSuggestionsAction() |
उपयोगकर्ता किसी इनपुट में टेक्स्ट डालता है |
TextInput
|
Action
सेट करता है, जो उपयोगकर्ता के टेक्स्ट इनपुट विजेट में टेक्स्ट डालने पर, Apps Script फ़ंक्शन
करता है. हैंडलर अपने-आप
एक फ़ंक्शन इवेंट ऑब्जेक्ट को कॉल करता है.
ज़्यादा जानकारी के लिए, टेक्स्ट इनपुट के लिए ऑटोकंप्लीट करने की सुविधा से जुड़े सुझाव देखें. |
कॉलबैक फ़ंक्शन
जब Action
ट्रिगर होता है, तो कॉलबैक
फ़ंक्शन काम करते हैं. कॉलबैक फ़ंक्शन, Apps Script फ़ंक्शन होते हैं, इसलिए उन्हें करीब-करीब कोई भी स्क्रिप्ट फ़ंक्शन किया जा सकता है.
कॉलबैक फ़ंक्शन कभी-कभी खास रिस्पॉन्स ऑब्जेक्ट दिखाता है. इस तरह के रिस्पॉन्स, कॉलबैक के पूरा होने के बाद होने वाली अतिरिक्त कार्रवाइयों की जानकारी देते हैं, जैसे कि नया कार्ड दिखाना या अपने-आप पूरा होने वाले सुझाव दिखाना. जब आपके कॉलबैक फ़ंक्शन को कोई खास रिस्पॉन्स ऑब्जेक्ट दिखाना चाहिए, तो आप उस ऑब्जेक्ट को बनाने के लिए कार्ड सेवा में बिल्डर क्लास का इस्तेमाल करते हैं.
नीचे दी गई टेबल से पता चलता है कि आपके कॉलबैक फ़ंक्शन को खास कार्रवाइयों के लिए, कोई खास रिस्पॉन्स ऑब्जेक्ट कब दिखाना चाहिए. ये कार्रवाइयां, ऐड-ऑन के लिए होस्ट किए जाने वाले खास ऐप्लिकेशन के हिसाब से होती हैं:
कार्रवाई करने की कोशिश की गई | कॉलबैक फ़ंक्शन को रिटर्न होना चाहिए |
---|---|
कार्ड के बीच नेविगेट करें | ActionResponse |
Notification दिखाएं |
ActionResponse |
setOnClickOpenLinkAction() का इस्तेमाल करके लिंक खोलें |
ActionResponse |
अपने-आप पूरा होने वाले सुझाव दिखाएं | SuggestionResponse |
यूनिवर्सल कार्रवाई का इस्तेमाल करें | UniversalActionResponse |
अन्य कार्रवाइयां | कुछ नहीं |
इन कार्रवाइयों के अलावा, हर होस्ट ऐप्लिकेशन के पास अपना काम होता है, जिसे सिर्फ़ उसी होस्ट में किया जा सकता है. ज़्यादा जानकारी के लिए, ये गाइड देखें:
कार्रवाई इवेंट ऑब्जेक्ट
जब आपका ऐड-ऑन, Action
को ट्रिगर करता है, तो यूज़र इंटरफ़ेस (यूआई) अपने-आप JSON इवेंट ऑब्जेक्ट बनाता है और उसे आर्ग्युमेंट के तौर पर Action
कॉलबैक फ़ंक्शन पर भेजता है. इस इवेंट ऑब्जेक्ट में, उपयोगकर्ता की मौजूदा क्लाइंट-साइड
स्थिति के बारे में जानकारी मौजूद होती है. जैसे, दिखाए गए कार्ड में सभी इंटरैक्टिव विजेट की मौजूदा वैल्यू.
ऐक्शन इवेंट ऑब्जेक्ट का एक खास JSON स्ट्रक्चर होता है, जो उनमें शामिल जानकारी को व्यवस्थित करता है. इसी तरीके का इस्तेमाल तब किया जाता है, जब होम पेज ट्रिगर होम पेज बनाने के लिए सक्रिय होता है या जब कीवर्ड ट्रिगर ऐड-ऑन डिसप्ले को अपडेट करने के लिए सक्रिय होता है.
इवेंट ऑब्जेक्ट स्ट्रक्चर को पूरी तरह से समझाने के लिए, इवेंट ऑब्जेक्ट देखें.