होम पेज

होम पेज, Google Workspace के ऐड-ऑन की एक नई सुविधा है. इससे एक या उससे ज़्यादा ऐसे कार्ड बनाए जा सकते हैं जिनमें कॉन्टेक्स्ट के हिसाब से जानकारी नहीं होती. बिना संदर्भ वाले कार्ड का इस्तेमाल, यूज़र इंटरफ़ेस दिखाने के लिए तब किया जाता है, जब उपयोगकर्ता किसी खास संदर्भ में न हो. उदाहरण के लिए, जब उपयोगकर्ता अपना Gmail इनबॉक्स देख रहा हो, लेकिन उसने कोई मैसेज या ड्राफ़्ट न खोला हो.

होम पेज पर, क्विक ऐक्सेस साइड पैनल (Keep, Calendar, और Tasks) में मौजूद Google ऐप्लिकेशन की तरह, कॉन्टेक्स्ट से मेल न खाने वाला कॉन्टेंट दिखाया जा सकता है. जब कोई उपयोगकर्ता पहली बार आपका ऐड-ऑन खोलता है, तो होम पेज से उसे ऐड-ऑन के बारे में जानकारी मिल सकती है. साथ ही, नए उपयोगकर्ताओं को ऐड-ऑन के साथ इंटरैक्ट करने का तरीका बताने में भी होम पेज मददगार होते हैं.

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

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

आपका ऐड-ऑन होम पेज तब दिखता है, जब इनमें से कोई एक शर्त पूरी होती है:

  • जब ऐड-ऑन को होस्ट में पहली बार खोला जाता है (अनुमति मिलने के बाद).
  • जब उपयोगकर्ता, ऐड-ऑन खुला होने पर, कॉन्टेक्स्ट के हिसाब से काम करने वाले सेटअप से, कॉन्टेक्स्ट के हिसाब से काम न करने वाले सेटअप पर स्विच करता है. उदाहरण के लिए, Calendar के किसी इवेंट में बदलाव करने के बाद, मुख्य Calendar में जाकर.
  • जब उपयोगकर्ता 'वापस जाएं' बटन पर इतनी बार क्लिक करता है कि इंटरनल स्टैक से हर कार्ड पॉप हो जाए.
  • जब बिना संदर्भ वाले कार्ड में यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन की वजह से, Navigation.popToRoot() कॉल होता है.

होम पेज डिज़ाइन करना ज़रूरी नहीं है, लेकिन इसका सुझाव दिया जाता है. अगर आपने कोई होम पेज नहीं तय किया है, तो जब भी कोई उपयोगकर्ता होम पेज पर जाएगा, तब आपके ऐड-ऑन के नाम वाले सामान्य कार्ड का इस्तेमाल किया जाएगा.

होम पेज का कॉन्फ़िगरेशन

Google Workspace के ऐड-ऑन, ऐड-ऑन के मेनिफ़ेस्ट में मौजूद सभी होस्ट ऐप्लिकेशन के लिए, डिफ़ॉल्ट होम पेज (कॉन्टेक्स्ट के हिसाब से नहीं) के ऐड-ऑन कॉन्टेंट को कॉन्फ़िगर करने के लिए, addOns.common.homepageTrigger फ़ील्ड का इस्तेमाल करते हैं:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: Apps Script फ़ंक्शन का नाम, जिसे Google Workspace ऐड-ऑन फ़्रेमवर्क, होम पेज के ऐड-ऑन कार्ड रेंडर करने के लिए इस्तेमाल करता है. यह फ़ंक्शन, होम पेज ट्रिगर फ़ंक्शन है. इस फ़ंक्शन से, होम पेज के यूज़र इंटरफ़ेस (यूआई) को बनाने वाले Card ऑब्जेक्ट का कलेक्शन बनना चाहिए और वह कलेक्शन दिखाना चाहिए. अगर एक से ज़्यादा कार्ड दिखाए जाते हैं, तो होस्ट ऐप्लिकेशन, कार्ड के हेडर को एक सूची में दिखाता है. उपयोगकर्ता उस सूची से कोई कार्ड चुन सकता है (एक से ज़्यादा कार्ड दिखाना देखें).

  • enabled: इस दायरे के लिए होम पेज कार्ड चालू करने चाहिए या नहीं. यह फ़ील्ड ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से true पर सेट होता है. इसे false पर सेट करने पर, होम पेज के कार्ड सभी होस्ट के लिए बंद हो जाते हैं. हालांकि, होस्ट के लिए इसे फिर से चालू किया जा सकता है. इसके लिए, नीचे दिया गया तरीका अपनाएं.

सामान्य कॉन्फ़िगरेशन के अलावा, हर होस्ट ऐप्लिकेशन के कॉन्फ़िगरेशन में, addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger वगैरह में, एक जैसे स्ट्रक्चर वाले हर होस्ट के लिए बदलाव भी उपलब्ध होते हैं:

    {
      ...
      "addOns": {
        ...
        "common": {
          // By default, call 'buildHomePage' to render homepage content
          // in all hosts. Since calendar.homepageTrigger below overrides
          // this in Calendar and Drive and the homepageTrigger is disabled
          // for Gmail, this homepage function never executes.
          "homepageTrigger": { "runFunction": "buildHomePage" }
        },
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "buildDriveHomepage" }
        }
        "gmail": {
          // Disable homepage add-on content in Gmail.
          "homepageTrigger": { "enabled": false }
        },
        ...
      }
    }

ध्यान दें कि यह मेनिफ़ेस्ट के इस हिस्से से मेल खाता है:

    {
      ...
      "addOns": {
        ...
        "common": { /* ... */ }, // Omitted a default homepageTrigger specification.
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "myCalendarFunction" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "myDriveFunction" }
        }
        "gmail": { /* ... */ },
        ...
      }
    }

homepageTrigger सेक्शन में से किसी एक को भी भरना ज़रूरी नहीं है. हालांकि, किसी भी होस्ट प्रॉडक्ट में ऐड-ऑन के लिए दिखाया गया यूज़र इंटरफ़ेस (यूआई), उससे जुड़े मेनिफ़ेस्ट फ़ील्ड की मौजूदगी और उससे जुड़ा homepageTrigger है या नहीं, इस बात पर निर्भर करता है. यहां दिए गए उदाहरण में दिखाया गया है कि अलग-अलग मेनिफ़ेस्ट कॉन्फ़िगरेशन के लिए होम पेज का यूज़र इंटरफ़ेस बनाने के लिए, कौनसे ऐड-ऑन ट्रिगर फ़ंक्शन (अगर कोई है) इस्तेमाल किए जाते हैं:

होम पेज का फ़्लो

होम पेज के इवेंट ऑब्जेक्ट

ऊपर बताए गए होम पेज ट्रिगर फ़ंक्शन (runFunction) को कॉल करने पर, उसे एक इवेंट ऑब्जेक्ट दिया जाता है. इसमें, ट्रिगर करने के कॉन्टेक्स्ट का डेटा होता है.

होम पेज इवेंट ऑब्जेक्ट में विजेट या कॉन्टेक्स्ट से जुड़ी जानकारी शामिल नहीं होती. भेजी गई जानकारी, इन सामान्य इवेंट ऑब्जेक्ट फ़ील्ड तक ही सीमित होती है:

ज़्यादा जानकारी के लिए, इवेंट ऑब्जेक्ट देखें.

कॉन्टेक्स्ट के हिसाब से नहीं दिखाए जाने वाले अन्य कार्ड

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

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