Buka konsol

Memperluas Firebase Crashlytics dengan Cloud Functions

Anda dapat memicu suatu fungsi untuk menanggapi peristiwa masalah Crashlytics, termasuk masalah baru, masalah yang muncul kembali, dan notifikasi kecepatan. Berikut beberapa hal yang bisa Anda lakukan untuk menanggapi peristiwa masalah:

Untuk mengetahui contoh penggunaan lainnya, baca bagian Apa yang dapat saya lakukan dengan Cloud Functions?

Memicu fungsi Crashlytics

Untuk memicu fungsi Crashlytics, terlebih dahulu buat IssueBuilder dengan functions.crashlytics.issue() , lalu panggil fungsi pembuat masalah yang sesuai dari pembuat:

fungsideskripsi
onNew()

Peristiwa masalah baru akan dipicu saat aplikasi Anda mengalami masalah untuk pertama kalinya.


exports.sendOnNewIssue = functions.crashlytics.issue().onNew(async (issue) => {
  // ...
});
onRegressed()

Peristiwa masalah yang muncul kembali dipicu saat masalah terjadi lagi setelah ditutup di Crashlytics. Contoh:


exports.sendOnRegressedIssue = functions.crashlytics.issue().onRegressed(async (issue) => {
  // ...
});
onVelocityAlert()

Peristiwa notifikasi kecepatan dipicu saat sejumlah besar sesi dalam build tertentu tidak bekerja. Contoh:


exports.sendOnVelocityAlert = functions.crashlytics.issue().onVelocityAlert(async (issue) => {
  // ...
});

Mengakses atribut peristiwa

Setiap pemicu peristiwa yang dibuat dengan IssueBuilder menampilkan Issue dengan properti yang mencakup nama masalah, ID, info aplikasi yang relevan, dan lainnya.

Misalnya, saat aplikasi Anda mengalami masalah baru, Anda dapat mengirim pesan ke Slack dengan ID dan judul masalah:

exports.postOnNewIssue = functions.crashlytics.issue().onNew(async (issue) => {
  const issueId = issue.issueId;
  const issueTitle = issue.issueTitle;
  const appName = issue.appInfo.appName;
  const appPlatform = issue.appInfo.appPlatform;
  const latestAppVersion = issue.appInfo.latestAppVersion;

  const slackMessage = `<!here|here> There is a new issue - ${issueTitle} (${issueId}) ` +
      `in ${appName}, version ${latestAppVersion} on ${appPlatform}`;

  await notifySlack(slackMessage);
  console.log(`Posted new issue ${issueId} successfully to Slack`);
});