Pemicu Peringatan Firebase

Firebase menyediakan lansiran untuk berbagai peristiwa, seperti perubahan penagihan atau lansiran kecepatan Crashlytics. Bergantung pada lansiran dan preferensi yang ditetapkan oleh anggota proyek, lansiran dapat dilihat di Firebase console, dikirim melalui email, atau dikirim melalui salah satu integrasi pihak ketiga yang tersedia ( Slack , Jira , dan PagerDuty ). Masing-masing lansiran ini dan preferensinya dikonfigurasi di konsol Firebase.

Selain itu, Firebase menyediakan akses terprogram yang dapat disesuaikan ke beberapa jenis peringatan melalui Cloud Functions.

Anda dapat memicu fungsi sebagai respons terhadap peristiwa Firebase Alert yang dipancarkan oleh sumber berikut:

  • Crashlytics
  • Distribusi Aplikasi
  • Penagihan Firebase

Misalnya, Anda dapat menangkap peringatan Crashlytics dan mengirim pemberitahuan kerusakan ke Discord. Atau Anda dapat merekam peristiwa penagihan (seperti perubahan dalam paket penagihan untuk proyek), dan memicu fungsi yang mengirimkan pemberitahuan kepada Pemilik proyek.

Dalam siklus hidup biasa, fungsi Firebase Alert melakukan hal berikut:

  1. Mendengarkan/menunggu jenis lansiran tertentu yang dipancarkan dari Firebase Alerts.
  2. Dipicu saat peringatan diaktifkan, dan menerima muatan acara dengan informasi spesifik tentang acara tersebut.
  3. Melakukan tugas yang ditentukan dalam fungsi.

Lihat dokumentasi referensi untuk jenis lansiran dan muatan untuk Crashlytics , App Distribution , dan penagihan .

Memicu fungsi pada acara peringatan

Gunakan firebase-functions/v2/alerts untuk membuat fungsi yang menangani peristiwa Firebase Alerts. Contoh kode di halaman ini didasarkan pada alur aplikasi yang menggunakan webhook untuk memposting pesan di saluran Discord saat masalah parah/fatal terjadi di aplikasi.

Contoh pemberitahuan kerusakan di Discord
Contoh pemberitahuan kerusakan

Fungsi sampel mendengarkan acara onNewFatalIssuePublished seperti yang ditunjukkan:

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

Fungsi tersebut kemudian mem-parsing objek acara yang dikembalikan, membuat pesan untuk dikirim ke saluran Discord:

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

**${title}**

${subtitle}

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

Akhirnya, fungsi mengirim pesan yang dibuat ke Discord:

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

Dengan cara ini, Anda dapat memanfaatkan Cloud Functions for Firebase untuk merespons peristiwa Firebase Alerts dengan logika khusus yang paling berguna untuk tim Anda. Selain berintegrasi dengan layanan seperti Discord, Anda dapat menulis fungsi untuk melampaui integrasi yang dikonfigurasi konsol dengan penyedia seperti Jira, Slack, atau PagerDuty. Misalnya, Anda dapat menambahkan bidang khusus atau fungsi lain yang belum didukung.