Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

फायरबेस अलर्ट ट्रिगर

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

Firebase प्रोजेक्ट और ऐप्लिकेशन प्रबंधन इवेंट की एक विस्तृत श्रृंखला के लिए अलर्ट प्रदान करता है। यहां कुछ उदाहरण ईवेंट दिए गए हैं, जब Firebase आपको इस प्रकार का अलर्ट भेज सकता है:

  • Crashlytics के लिए, यदि आपके ऐप के क्रैश में नाटकीय रूप से वृद्धि हुई है, तो हम आपको सचेत कर सकते हैं।
  • प्रदर्शन निगरानी के लिए, यदि आपके ऐप का स्टार्ट-अप समय आपकी कॉन्फ़िगर की गई सीमा को पार कर जाता है, तो हम आपको सचेत कर सकते हैं।
  • ऐप वितरण के लिए, यदि आपका कोई परीक्षक नया iOS डिवाइस पंजीकृत करता है, तो हम आपको सचेत कर सकते हैं।

प्रोजेक्ट सदस्य द्वारा निर्धारित अलर्ट और प्राथमिकताओं के आधार पर, Firebase इस प्रकार के अलर्ट को Firebase कंसोल में दिखाता है या उन्हें ईमेल के माध्यम से भेजता है।

यह पृष्ठ वर्णन करता है कि अलर्ट ईवेंट को हैंडल करने वाले फ़ंक्शन कैसे लिखें।

यह कैसे काम करता है?

आप इन स्रोतों द्वारा उत्सर्जित अलर्ट ईवेंट के प्रत्युत्तर में फ़ंक्शन ट्रिगर कर सकते हैं:

एक सामान्य जीवनचक्र में, एक अलर्ट ईवेंट द्वारा ट्रिगर किया गया फ़ंक्शन निम्न कार्य करता है:

  1. Firebase से किसी खास तरह के अलर्ट के निकलने की सुनता/इंतजार करता है.
  2. अलर्ट उत्सर्जित होने पर ट्रिगर होता है, और ईवेंट पेलोड प्राप्त करता है जिसमें ईवेंट के बारे में विशिष्ट जानकारी होती है।
  3. ईवेंट पेलोड को संभालने के लिए आपके फ़ंक्शन के कोड को आमंत्रित करता है।

अलर्ट ईवेंट पर फ़ंक्शन ट्रिगर करें

अलर्ट ईवेंट को हैंडल करने वाले फ़ंक्शन को लिखने के लिए firebase-functions/v2/alerts सबपैकेज का उपयोग करें। निम्नलिखित उत्पाद-विशिष्ट उदाहरण एक वर्कफ़्लो प्रदर्शित करते हैं जहाँ एक फ़ंक्शन एक वेबहुक का उपयोग करके एक डिस्कॉर्ड चैनल पर एक संदेश पोस्ट करता है जब उस उत्पाद के लिए एक अलर्ट फायरबेस से उत्सर्जित होता है।

Crashlytics अलर्ट ईवेंट को हैंडल करें

निम्नलिखित Crashlytics उदाहरण के लिए, आप Firebase के लिए Cloud Functions का उपयोग एक नई घातक क्रैश समस्या की चेतावनी घटना को संभालने के लिए करते हैं। यह फ़ंक्शन एक संदेश में अलर्ट सूचना को एक डिस्कॉर्ड चैनल पर पोस्ट करता है।

डिस्कॉर्ड में उदाहरण क्रैश सूचना

एक नई घातक दुर्घटना समस्या के लिए उदाहरण अधिसूचना

फ़ंक्शन onNewFatalIssuePublished ईवेंट को सुनता है:

exports.postfatalissuetodiscord = onNewFatalIssuePublished(async (event) => {

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

  // construct a helpful message to send to Discord
  const appId = event.appId;
  const {id, title, subtitle, appVersion} = event.data.payload.issue;
  const message = `
🚨 New fatal issue for ${appId} in version ${appVersion} 🚨

**${title}**

${subtitle}

id: \`${id}\`
`;

अंत में, फ़ंक्शन निर्मित संदेश को डिस्कॉर्ड को भेजता है:

    const response = await postMessageToDiscord("Crashlytics Bot", message);
    if (response.ok) {
      logger.info(
          `Posted fatal Crashlytics alert ${id} for ${appId} to Discord`,
          event.data.payload,
      );
    } else {
      throw new Error(response.error);
    }

उन सभी Crashlytics अलर्ट ईवेंट के बारे में जानने के लिए जिन्हें आप कैप्चर कर सकते हैं, Crashlytics अलर्ट के संदर्भ दस्तावेज़ पर जाएं।

एक प्रदर्शन निगरानी चेतावनी घटना को संभालें

इस खंड में उदाहरण आपको दिखाता है कि प्रदर्शन थ्रेशोल्ड अलर्ट के लिए फ़ंक्शन कैसे लिखना है।

इस उदाहरण में, onThresholdAlertPublished फ़ंक्शन पर एक क्लाउड फ़ंक्शन निर्यात करता है जो PerformanceEvent<ThresholdAlertPayload> प्रकार की घटनाओं को सुनता है, जो हर बार प्रदर्शन थ्रेशोल्ड अलर्ट के सक्रिय होने पर भेजा जाता है:

exports.postperformancealerttodiscord = onThresholdAlertPublished(
    async (event) => {

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

      // construct a helpful message to send to Discord
      const appId = event.appId;
      const {
        eventName,
        metricType,
        eventType,
        numSamples,
        thresholdValue,
        thresholdUnit,
        conditionPercentile,
        appVersion,
        violationValue,
        violationUnit,
        investigateUri,
      } = event.data.payload;
      const message = `
    ⚠️ Performance Alert for ${metricType} of ${eventType}: **${eventName}** ⚠️
    
    App id: ${appId}
    Alert condition: ${thresholdValue} ${thresholdUnit}
    Percentile (if applicable): ${conditionPercentile}
    App version (if applicable): ${appVersion}
    
    Violation: ${violationValue} ${violationUnit}
    Number of samples checked: ${numSamples}
    
    **Investigate more:** ${investigateUri}
    `;

अंत में, फ़ंक्शन HTTP अनुरोध के माध्यम से निर्मित संदेश को डिस्कॉर्ड को भेजता है:

        const response = await postMessageToDiscord(
            "Firebase Performance Bot", message);
        if (response.ok) {
          logger.info(
              `Posted Firebase Performance alert ${eventName} to Discord`,
              event.data.payload,
          );
        } else {
          throw new Error(response.error);
        }

उन सभी प्रदर्शन अलर्ट ईवेंट के बारे में जानने के लिए जिन्हें आप कैप्चर कर सकते हैं, प्रदर्शन मॉनिटरिंग अलर्ट के संदर्भ दस्तावेज़ पर जाएं।

ऐप डिस्ट्रीब्यूशन अलर्ट इवेंट को हैंडल करें

इस खंड में उदाहरण आपको दिखाता है कि नए परीक्षक आईओएस डिवाइस अलर्ट के लिए फ़ंक्शन कैसे लिखना है।

इस उदाहरण में, onNewTesterIosDevicePublished फ़ंक्शन एक क्लाउड फ़ंक्शन निर्यात करता है जो AppDistributionEvent<NewTesterDevicePayload> प्रकार की घटनाओं को सुनता है, जिसे हर बार एक परीक्षक द्वारा एक नया iOS डिवाइस पंजीकृत करने पर भेजा जाता है। जब कोई नया iOS डिवाइस पंजीकृत होता है, तो आपको उस डिवाइस के UDID के साथ अपनी प्रोविज़निंग प्रोफ़ाइल को अपडेट करना होगा और फिर ऐप को फिर से वितरित करना होगा।

exports.postnewduuidtodiscord = onNewTesterIosDevicePublished(async (event) => {

फ़ंक्शन तब लौटाता है, घटना पेलोड से उपयोगी जानकारी को पार्स करता है और डिस्कॉर्ड चैनल पर पोस्ट करने के लिए एक संदेश का निर्माण करता है:

  // construct a helpful message to send to Discord
  const appId = event.appId;
  const {
    testerDeviceIdentifier,
    testerDeviceModelName,
    testerEmail,
    testerName,
  } = event.data.payload;
  const message = `
📱 New iOS device registered by ${testerName} <${testerEmail}> for ${appId}

UDID **${testerDeviceIdentifier}** for ${testerDeviceModelName}
`;

अंत में, फ़ंक्शन HTTP अनुरोध के माध्यम से निर्मित संदेश को डिस्कॉर्ड को भेजता है:

    const response = await postMessageToDiscord("AppDistribution Bot", message);
    if (response.ok) {
      logger.info(
          `Posted iOS device registration alert for ${testerEmail} to Discord`,
      );
    } else {
      throw new Error(response.error);
    }

उन सभी ऐप डिस्ट्रीब्यूशन अलर्ट इवेंट के बारे में जानने के लिए जिन्हें आप कैप्चर कर सकते हैं, ऐप डिस्ट्रीब्यूशन अलर्ट के लिए रेफरेंस डॉक्यूमेंटेशन पर जाएं।