Ir para o console

Acionadores do Firebase Crashlytics

É possível acionar uma função em resposta a eventos de problemas do Crashlytics. Isso inclui problemas novos, reabertos e alertas de velocidade. Veja algumas sugestões do que você fazer em resposta a um evento de problema:

Para mais exemplos de casos de uso, veja O que posso fazer com o Cloud Functions?

Como acionar uma função do Crashlytics

Para acionar uma função do Crashlytics, gere primeiro um IssueBuilder com functions.crashlytics.issue() e, em seguida, chame a função apropriada de geração de problemas do builder:

funçãodescrição
onNew()

Novos eventos de problema são acionados quando seu app apresenta um problema pela primeira vez.


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

Eventos de problemas reabertos são acionados quando um problema se repete depois de ter sido fechado no Crashlytics. Exemplo:


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

Eventos de alerta de velocidade são acionados quando ocorre a falha de um número de sessões de significância estatística em uma determinada versão. Exemplo:


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

Acessar atributos de evento

Cada acionamento de evento criado com IssueBuilder retorna um Issue com propriedades que incluem o nome e código do problema, além de informações relevantes sobre o aplicativo e muito mais.

Por exemplo, se o app apresentar um problema novo, envie uma mensagem para o Slack com o código e o título do problema:

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`);
});