होम पेज, Google Workspace ऐड-ऑन की एक सुविधा है. इसकी मदद से, एक या उससे ज़्यादा बिना कॉन्टेक्स्ट वाले कार्ड तय किए जा सकते हैं. कॉन्टेक्स्ट के हिसाब से नहीं दिखाए जाने वाले कार्ड, उपयोगकर्ता को तब यूज़र इंटरफ़ेस दिखाते हैं, जब वह किसी खास कॉन्टेक्स्ट से बाहर होता है. जैसे, जब वह Gmail इनबॉक्स देख रहा हो और उसके पास कोई मैसेज या ड्राफ़्ट खुला न हो.
होम पेज पर, बिना किसी कॉन्टेक्स्ट वाला कॉन्टेंट दिखाया जा सकता है. यह कॉन्टेंट, क्विक ऐक्सेस साइड पैनल में मौजूद Google ऐप्लिकेशन (Google Keep, Google Calendar, और Google Tasks) के जैसा होता है. होम पेज, उपयोगकर्ता को ऐड-ऑन के बारे में शुरुआती जानकारी भी दे सकते हैं. ऐसा तब होता है, जब कोई उपयोगकर्ता पहली बार आपका ऐड-ऑन खोलता है. साथ ही, ये नए उपयोगकर्ताओं को यह सिखाने में मददगार होते हैं कि आपके ऐड-ऑन के साथ कैसे इंटरैक्ट किया जाए.
अपने ऐड-ऑन के लिए होम पेज तय करें. इसके लिए, इसे अपने प्रोजेक्ट मेनिफ़ेस्ट में तय करें और एक या उससे ज़्यादा homepageTrigger फ़ंक्शन लागू करें (होम पेज का कॉन्फ़िगरेशन देखें). अगर आपका ऐड-ऑन, Google Chat की सुविधाओं को बढ़ाता है, तो उसका होम पेज, Chat ऐप्लिकेशन के साथ की गई सीधी बातचीत के होम टैब में दिखता है. साथ ही, इसे मेनिफ़ेस्ट के बजाय Google Cloud Console में कॉन्फ़िगर किया जाता है. इसके बारे में जानने के लिए, Chat के लिए होम पेज कॉन्फ़िगर करना लेख पढ़ें.
आपके पास कई होम पेज हो सकते हैं. हर होस्ट ऐप्लिकेशन के लिए एक होम पेज होता है. आपके पास एक ऐसा डिफ़ॉल्ट होम पेज तय करने का विकल्प भी होता है जिसका इस्तेमाल उन होस्ट में किया जाता है जहां आपने कस्टम होम पेज तय नहीं किया है.
इन मामलों में, आपके ऐड-ऑन का होम पेज दिखता है:
- जब ऐड-ऑन को पहली बार होस्ट में खोला जाता है (अनुमति देने के बाद) या जब कोई उपयोगकर्ता, Chat में आपके Chat ऐप्लिकेशन के साथ 1:1 डायरेक्ट मैसेज में होम टैब खोलता है.
- जब उपयोगकर्ता, ऐड-ऑन खुला होने के दौरान कॉन्टेक्स्ट के हिसाब से काम करने वाले कॉन्टेक्स्ट से कॉन्टेक्स्ट के हिसाब से काम न करने वाले कॉन्टेक्स्ट पर स्विच करता है. उदाहरण के लिए, 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 के मौजूद होने या न होने पर निर्भर करता है. यहां दिए गए उदाहरण में दिखाया गया है कि अलग-अलग मेनिफ़ेस्ट कॉन्फ़िगरेशन के लिए, होम पेज का यूज़र इंटरफ़ेस (यूआई) बनाने के लिए, कौनसे ऐड-ऑन ट्रिगर फ़ंक्शन लागू किए जाते हैं:

Chat के लिए होम पेज कॉन्फ़िगर करना
Google Workspace के अन्य होस्ट ऐप्लिकेशन के उलट, Chat की सुविधाओं को बढ़ाने वाले ऐड-ऑन, दाईं ओर मौजूद क्विक ऐक्सेस पैनल में होम पेज नहीं दिखाते. साथ ही, मेनिफ़ेस्ट में addOns.common.homepageTrigger का इस्तेमाल नहीं करते.
इसके बजाय, Chat ऐप्लिकेशन के साथ सीधी बातचीत की होम टैब में, Chat आपके होम पेज को कार्ड के तौर पर दिखाता है.
Google Cloud Console में, Chat ऐड-ऑन के लिए App Home ट्रिगर को चालू और कॉन्फ़िगर करने के लिए:
Google Cloud Console में, मेन्यू > एपीआई और सेवाएं > चालू किए गए एपीआई और सेवाएं > Google Chat API > कॉन्फ़िगरेशन पर जाएं.
इंटरैक्टिव सुविधाएं में जाकर, पक्का करें कि इंटरैक्टिव सुविधाएं चालू करें सेटिंग चालू हो. इसके बाद, ऐप्लिकेशन होम की सुविधा चेकबॉक्स को चुनें.
कनेक्शन की सेटिंग > ट्रिगर में जाकर, अपने ऐड-ऑन के आर्किटेक्चर के आधार पर, ऐप्लिकेशन होम फ़ील्ड में ऐप्लिकेशन होम हैंडलर तय करें:
- HTTP: ऐप्लिकेशन होम पेज के अनुरोधों को मैनेज करने वाले एचटीटीपीएस एंडपॉइंट का यूआरएल डालें. इसके अलावा, इसे खाली भी छोड़ा जा सकता है, ताकि आपके सामान्य एचटीटीपी एंडपॉइंट यूआरएल को सभी इवेंट मिलें.
- Google Apps Script: Google Apps Script के उस कॉलबैक फ़ंक्शन का नाम डालें जो आपके होम पेज का कार्ड बनाता है और उसे दिखाता है. डिफ़ॉल्ट रूप से, यह
onAppHomeपर सेट होता है.
सेव करें पर क्लिक करें.
जब कोई उपयोगकर्ता, आपके Chat ऐप्लिकेशन के साथ डायरेक्ट मैसेज के होम टैब को खोलता है, तब Chat आपके एंडपॉइंट या फ़ंक्शन को ऐप्लिकेशन होम ट्रिगर इवेंट भेजता है. होम पेज को रेंडर करने के लिए, pushCard नेविगेशन ऐक्शन वाला RenderActions ऑब्जेक्ट दिखाएं. इसके अलावा, होम पेज कार्ड में मौजूद किसी बटन पर क्लिक करने के जवाब में होम पेज को अपडेट करते समय, updateCard का इस्तेमाल करें:
HTTP
{ "action": { "navigations": [ { "pushCard": { "header": { "title": "Welcome to App Home" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Manage your settings and view your dashboard here." } } ] } ] } } ] } }
Google Apps Script
function onAppHome(event) { const card = CardService.newCardBuilder() .setHeader( CardService.newCardHeader().setTitle('Welcome to App Home')) .addSection( CardService.newCardSection().addWidget( CardService.newTextParagraph().setText( 'Manage your settings and view your dashboard here.'))) .build(); return CardService.newActionResponseBuilder() .setNavigation(CardService.newNavigation().pushCard(card)) .build(); }
Chat ट्रिगर और जवाब देने के बारे में ज़्यादा जानकारी के लिए, उपयोगकर्ता के इंटरैक्शन पाना और उनका जवाब देना लेख पढ़ें.
होम पेज के इवेंट ऑब्जेक्ट
कॉल किए जाने पर, होम पेज ट्रिगर फ़ंक्शन (runFunction) या पहले बताया गया ऐप्लिकेशन होम एंडपॉइंट, इवेंट ऑब्जेक्ट को पास किया जाता है. इसमें इनवॉकेशन कॉन्टेक्स्ट का डेटा होता है.
होम पेज पर मौजूद इवेंट ऑब्जेक्ट में विजेट या कॉन्टेक्स्ट के हिसाब से जानकारी शामिल नहीं होती. पास की गई जानकारी में, सामान्य इवेंट ऑब्जेक्ट के ये फ़ील्ड शामिल होते हैं:
commonEventObject.clientPlatformcommonEventObject.hostAppcommonEventObject.userLocaleऔरcommonEventObject.userTimezone(पाबंदी से जुड़ी जानकारी के लिए, उपयोगकर्ता की स्थान-भाषा और टाइमज़ोन को ऐक्सेस करना लेख पढ़ें).
Chat में, App Home इवेंट ऑब्जेक्ट में chat फ़ील्ड भी शामिल होता है. इसमें उपयोगकर्ता और इंटरैक्शन के समय के बारे में जानकारी होती है:
chat.user: Chat उपयोगकर्ता, जिसने होम टैब खोला है.chat.eventTime: वह टाइमस्टैंप जब उपयोगकर्ता ने होम टैब खोला था.
ज़्यादा जानकारी के लिए, इवेंट ऑब्जेक्ट देखें.
अन्य कार्ड, जिनमें संदर्भ के हिसाब से जानकारी नहीं होती
आपके ऐड-ऑन के यूज़र इंटरफ़ेस (यूआई) में, होम पेज के अलावा अन्य कार्ड भी शामिल हो सकते हैं. उदाहरण के लिए, आपके होम पेज पर एक बटन हो सकता है. इस बटन पर क्लिक करने से, "सेटिंग" कार्ड खुलता है. इस कार्ड में ऐड-ऑन की सेटिंग में बदलाव किया जा सकता है. आम तौर पर, इस तरह की सेटिंग कॉन्टेक्स्ट से अलग होती हैं.
कॉन्टेक्स्ट के बिना दिखाए जाने वाले कार्ड, किसी अन्य कार्ड की तरह ही बनाए जाते हैं. इनमें सिर्फ़ यह अंतर होता है कि कार्ड को जनरेट और दिखाने के लिए कौनसी कार्रवाई या इवेंट ट्रिगर होता है. कार्ड के बीच ट्रांज़िशन बनाने के तरीके के बारे में जानने के लिए, नेविगेशन के तरीके देखें.