ফায়ারবেস সতর্কতা ট্রিগার

ফায়ারবেস বিস্তৃত প্রজেক্ট এবং অ্যাপ ম্যানেজমেন্ট ইভেন্টের জন্য সতর্কতা প্রদান করে। Firebase কখন আপনাকে এই ধরনের সতর্কতা পাঠাতে পারে তার জন্য এখানে কয়েকটি উদাহরণ দেওয়া হল:

  • Crashlytics-এর জন্য, আপনার অ্যাপের ক্র্যাশের সংখ্যা নাটকীয়ভাবে বেড়ে গেলে আমরা আপনাকে সতর্ক করতে পারি।
  • পারফরম্যান্স মনিটরিংয়ের জন্য, আপনার অ্যাপের স্টার্ট-আপ সময় আপনার কনফিগার করা থ্রেশহোল্ড অতিক্রম করলে আমরা আপনাকে সতর্ক করতে পারি।
  • অ্যাপ বিতরণের জন্য, আপনার পরীক্ষকদের মধ্যে একজন নতুন iOS ডিভাইস নিবন্ধন করলে আমরা আপনাকে সতর্ক করতে পারি।

সতর্কতা এবং প্রকল্প সদস্য দ্বারা সেট করা পছন্দের উপর নির্ভর করে, Firebase Firebase কনসোলে এই ধরনের সতর্কতা দেখায় বা ইমেলের মাধ্যমে পাঠায়।

এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে ফাংশনগুলি লিখতে হয় যা সতর্কতা ইভেন্টগুলি পরিচালনা করে।

এটা কিভাবে কাজ করে?

আপনি এই উত্সগুলি দ্বারা নির্গত সতর্কতা ইভেন্টগুলির প্রতিক্রিয়া হিসাবে ফাংশনগুলি ট্রিগার করতে পারেন:

একটি সাধারণ জীবনচক্রে, একটি সতর্কতা ইভেন্ট দ্বারা ট্রিগার করা একটি ফাংশন নিম্নলিখিতগুলি করে:

  1. ফায়ারবেস থেকে নির্গত একটি নির্দিষ্ট সতর্কতার প্রকারের জন্য শোনে/অপেক্ষা করে।
  2. যখন সতর্কতা নির্গত হয় তখন ট্রিগার করে এবং ইভেন্ট পেলোড গ্রহণ করে যাতে ইভেন্ট সম্পর্কে নির্দিষ্ট তথ্য থাকে।
  3. ইভেন্ট পেলোড পরিচালনা করতে আপনার ফাংশনের কোড আহ্বান করে।

সতর্কতা ইভেন্টে একটি ফাংশন ট্রিগার করুন

সতর্কতা ইভেন্টগুলি পরিচালনা করে এমন একটি ফাংশন লিখতে firebase-functions/v2/alerts সাবপ্যাকেজ ব্যবহার করুন। নিম্নলিখিত পণ্য-নির্দিষ্ট উদাহরণগুলি একটি কার্যপ্রবাহ প্রদর্শন করে যেখানে একটি ফাংশন একটি ওয়েবহুক ব্যবহার করে একটি ডিসকর্ড চ্যানেলে একটি বার্তা পোস্ট করার জন্য যখন সেই পণ্যের জন্য একটি সতর্কতা Firebase থেকে নির্গত হয়।

একটি Crashlytics সতর্কতা ইভেন্ট পরিচালনা করুন

নিম্নলিখিত Crashlytics উদাহরণের জন্য, আপনি একটি নতুন মারাত্মক ক্র্যাশ সমস্যার একটি সতর্কতা ইভেন্ট পরিচালনা করতে Firebase-এর জন্য ক্লাউড ফাংশন ব্যবহার করেন। এই ফাংশনটি একটি ডিসকর্ড চ্যানেলে একটি বার্তায় সতর্কতার তথ্য পোস্ট করে।

ডিসকর্ডে ক্র্যাশ বিজ্ঞপ্তির উদাহরণ

একটি নতুন মারাত্মক ক্র্যাশ সমস্যার উদাহরণ বিজ্ঞপ্তি৷

ফাংশনটি 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);
        }

আপনি ক্যাপচার করতে পারেন এমন সমস্ত কর্মক্ষমতা সতর্কতা ইভেন্ট সম্পর্কে জানতে, পারফরম্যান্স মনিটরিং সতর্কতার জন্য রেফারেন্স ডকুমেন্টেশনে যান।

একটি অ্যাপ বিতরণ সতর্কতা ইভেন্ট পরিচালনা করুন

এই বিভাগে উদাহরণ আপনাকে দেখায় কিভাবে নতুন পরীক্ষক iOS ডিভাইস সতর্কতার জন্য একটি ফাংশন লিখতে হয়।

এই উদাহরণে, 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);
    }

আপনি ক্যাপচার করতে পারেন এমন সমস্ত অ্যাপ বিতরণ সতর্কতা ইভেন্ট সম্পর্কে জানতে, অ্যাপ বিতরণ সতর্কতার জন্য রেফারেন্স ডকুমেন্টেশনে যান।

অ্যাপ ডিস্ট্রিবিউশন থেকে একটি ইন-অ্যাপ প্রতিক্রিয়া ফায়ারবেস সতর্কতা দ্বারা ট্রিগার করা একটি ফাংশন কীভাবে ব্যবহার করবেন তা শিখতে, জিরা-তে অ্যাপ-মধ্যস্থ প্রতিক্রিয়া পাঠান দেখুন।