होम पेज

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

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

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

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

आपका ऐड-ऑन होमपेज इन मामलों में दिखता है:

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

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

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

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

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

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

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

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

यहां एक मेनिफ़ेस्ट का उदाहरण दिया गया है. इसमें एक सामान्य होमपेज ट्रिगर तय किया गया है, लेकिन Calendar और Drive के लिए कस्टम फ़ंक्शन का इस्तेमाल करके इसे बदला गया है. साथ ही, Gmail के लिए इसे बंद किया गया है. इस कॉन्फ़िगरेशन में, सामान्य buildHomePage फ़ंक्शन कभी भी काम नहीं करता, क्योंकि इसे बदला गया है या होस्ट बंद है.

{
  ...
  "addOns": {
    ...
    "common": {
      "homepageTrigger": { "runFunction": "buildHomePage" }
    },
    "calendar": {
      "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
    },
    "drive": {
      "homepageTrigger": { "runFunction": "buildDriveHomepage" }
    },
    "gmail": {
      "homepageTrigger": { "enabled": false }
    },
    ...
  }
}

मेनिफ़ेस्ट का यह स्निपेट, पिछले उदाहरण के बराबर है. भले ही, इसमें डिफ़ॉल्ट homepageTrigger और Gmail का कॉन्फ़िगरेशन शामिल न हो:

{
  "addOns": {
    "common": {},
    "calendar": {
      "homepageTrigger": { "runFunction": "myCalendarFunction" }
    },
    "drive": {
      "homepageTrigger": { "runFunction": "myDriveFunction" }
    },
    "gmail": {},
    ...
  }
}

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

ऐड-ऑन के होम पेज को ट्रिगर करने वाले फ़ंक्शन के एक्ज़ीक्यूशन फ़्लो को दिखाने वाला डायग्राम

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

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

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

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

कॉन्टेक्स्ट से बाहर के अन्य कार्ड

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

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