होम पेज

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

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

अपने ऐड-ऑन के लिए होम पेज तय करें. इसके लिए, इसे अपने प्रोजेक्ट मेनिफ़ेस्ट में तय करें और एक या उससे ज़्यादा 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) को इवेंट ऑब्जेक्ट पास किया जाता है. इसमें इनवॉकेशन कॉन्टेक्स्ट का डेटा होता है. इस फ़ंक्शन के बारे में पहले बताया जा चुका है.

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

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

अन्य कार्ड, जिनमें संदर्भ के हिसाब से जानकारी नहीं होती

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

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