इंटरैक्टिव कार्ड बनाना

डेटा दिखाने के साथ-साथ, ज़्यादातर ऐड-ऑन के लिए उपयोगकर्ता को जानकारी. कार्ड पर आधारित ऐड-ऑन बनाते समय, इंटरैक्टिव विजेट, जैसे कि बटन, या चेकबॉक्स का इस्तेमाल करके, उपयोगकर्ता से अपने ऐड-ऑन का डेटा मांगा जा सकता है अन्य इंटरैक्शन कंट्रोल की ज़रूरत होती है या उपलब्ध कराती है.

विजेट में कार्रवाइयां जोड़ी जा रही हैं

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

ज़्यादातर मामलों में, विजेट को चुने या अपडेट किए जाने पर कोई खास कार्रवाई करें:

  1. कोई Action ऑब्जेक्ट बनाएं, एक कॉलबैक फ़ंक्शन के बारे में बताना जिसे एक्ज़ीक्यूट किया जाना चाहिए. इसके अलावा, ज़रूरी पैरामीटर.
  2. सही को कॉल करके विजेट को Action से लिंक करें विजेट हैंडलर फ़ंक्शन.
  3. कॉलबैक फ़ंक्शन लागू करें ज़रूरी व्यवहार करने के लिए.

उदाहरण

नीचे दिए गए उदाहरण में एक ऐसा बटन सेट किया गया है जो उपयोगकर्ता सूचना दिखाता है क्लिक करने के बाद. क्लिक notifyUser() कॉलबैक फ़ंक्शन को ट्रिगर करता है जिसमें सूचना टेक्स्ट को तय करने वाला आर्ग्युमेंट हो. 'बिल्ट-इन' को लौटाना ActionResponse नतीजे के तौर पर दिखेगा.

  /**
   * Build a simple card with a button that sends a notification.
   * @return {Card}
   */
  function buildSimpleCard() {
    var buttonAction = CardService.newAction()
        .setFunctionName('notifyUser')
        .setParameters({'notifyText': 'Button clicked!'});
    var button = CardService.newTextButton()
        .setText('Notify')
        .setOnClickAction(buttonAction);

    // ...continue creating widgets, then create a Card object
    // to add them to. Return the built Card object.
  }

  /**
   * Callback function for a button action. Constructs a
   * notification action response and returns it.
   * @param {Object} e the action event object
   * @return {ActionResponse}
   */
  function notifyUser(e) {
    var parameters = e.parameters;
    var notificationText = parameters['notifyText'];
    return CardService.newActionResponseBuilder()
        .setNotification(CardService.newNotification())
            .setText(notificationText)
        .build();      // Don't forget to build the response!
  }

असरदार इंटरैक्शन डिज़ाइन करना

इंटरैक्टिव कार्ड डिज़ाइन करते समय, इन बातों का ध्यान रखें:

  • इंटरैक्टिव विजेट को आम तौर पर कम से कम एक हैंडलर विधि की ज़रूरत होती है व्यवहार.

  • setOpenLink() विजेट का इस्तेमाल करना हैंडलर फ़ंक्शन का इस्तेमाल तब किया जा सकता है, जब आपके पास यूआरएल हो और आपको उसे किसी टैब में खोलना हो. इससे आपको अपनी साइट पर Action ऑब्जेक्ट और कॉलबैक फ़ंक्शन का इस्तेमाल करना होगा. अगर आपको पहले यूआरएल बनाना है या इसके लिए कोई और पहले चरण के रूप में, Action और इसका इस्तेमाल करें setOnClickOpenLinkAction() आज़माएं.

  • setOpenLink() का इस्तेमाल करते समय या setOnClickOpenLinkAction() विजेट हैंडलर फ़ंक्शन के लिए उपलब्ध है, तो आपको OpenLink ऑब्जेक्ट का उपयोग करें. इस ऑब्जेक्ट का भी इस्तेमाल किया जा सकता है खुलने और बंद होने का व्यवहार तय करने के लिए, OpenAs और OnClose एनम.

  • एक से ज़्यादा विजेट के लिए एक ही विजेट इस्तेमाल किया जा सकता है Action ऑब्जेक्ट. हालांकि, आपको अलग-अलग अगर आप चाहें, तो Action ऑब्जेक्ट का इस्तेमाल करें.

  • अपने कॉलबैक फ़ंक्शन को आसान रखें. ऐड-ऑन को रिस्पॉन्सिव बनाए रखने के लिए, कार्ड सेवा, कॉलबैक फ़ंक्शन को ज़्यादा से ज़्यादा 30 सेकंड निष्पादन समय. अगर एक्ज़ीक्यूशन में इससे ज़्यादा समय लगता है, तो आपका ऐड-ऑन यूज़र इंटरफ़ेस (यूआई) डिफ़ॉल्ट रूप से, इसकी वजह से कार्ड डिसप्ले ठीक से अपडेट नहीं होता है Action

  • अगर किसी उपयोगकर्ता की वजह से, तीसरे पक्ष के बैकएंड पर डेटा का स्टेटस बदलता है के साथ इंटरैक्शन करते हैं, तो यह सुझाव दिया जाता है कि ऐड-ऑन सेट 'राज्य बदल गया' बिट को true पर सेट करें, ताकि कोई भी मौजूदा क्लाइंट साइड कैश मेमोरी साफ़ किया. ज़्यादा जानकारी के लिए, ActionResponseBuilder.setStateChanged() ज़्यादा जानकारी के लिए, तरीके का ब्यौरा.