Настройте отчеты о сбоях Firebase Crashlytics


На панели управления Crashlytics вы можете нажать на проблему и получить подробный отчет о событии. Вы можете настроить эти отчеты, чтобы лучше понять, что происходит в вашем приложении, и обстоятельства событий, о которых сообщается в Crashlytics .

  • Автоматически получайте навигационные журналы , если ваше приложение использует Firebase SDK для Google Analytics . Эти журналы дают вам представление о действиях пользователей, которые привели к событию, собранному Crashlytics , в вашем приложении.

  • Отключите автоматические отчеты о сбоях и включите возможность включения отчетов для своих пользователей. Обратите внимание, что по умолчанию Crashlytics автоматически собирает отчеты о сбоях для всех пользователей вашего приложения.

Сообщить об исключениях

Сообщить об обнаруженных исключениях

Если у вас есть ожидаемые исключения, вы можете настроить Crashlytics SDK, чтобы они сообщали о них как о нефатальных событиях . Эти события регистрируются на устройстве, а затем отправляются вместе с отчетом о следующем фатальном событии или когда конечный пользователь перезапускает игру.

Вы можете регистрировать исключения в C#, используя следующий метод:

Crashlytics.LogException(Exception ex);

Вы можете регистрировать ожидаемые исключения в блоках try/catch вашей игры:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Сообщать о неперехваченных исключениях

Для неперехваченных исключений , которые не приводят к сбою вашей игры (например, неперехваченные исключения C# в игровой логике), вы можете заставить Crashlytics SDK сообщать о них как о фатальных событиях , установив для свойства Crashlytics.ReportUncaughtExceptionsAsFatal значение true при инициализации Crashlytics в проекте Unity. . Об этих событиях сообщается в Crashlytics в режиме реального времени, без необходимости перезапуска игры конечному пользователю.

Если вы сообщите об этих неперехваченных исключениях как о фатальных событиях, это означает, что они будут учитываться в вашей пользовательской статистике без сбоев и в оповещениях о скорости.

Обратите внимание, что о собственных сбоях всегда сообщается как о фатальных событиях . Эти события регистрируются на устройстве, а затем отправляются, когда конечный пользователь перезапускает игру.

void Start() {
    // Since there is no try-block surrounding this call, if an exception is thrown,
    // it is considered unexpected.
    // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true`
    // will ensure that such cases are reported as fatals.
    thirdPartyMethodThatMayThrow();
}

Включите отчеты GWP-ASan для устранения проблем с повреждением памяти.

Для приложений Android, использующих IL2CPP, Crashlytics может помочь отладить сбои, вызванные ошибками встроенной памяти, путем сбора отчетов GWP-ASan. Эти ошибки, связанные с памятью, могут быть связаны с повреждением памяти в вашем приложении, что является основной причиной уязвимостей безопасности приложений.

  • Вы можете просмотреть эти данные на новой вкладке «Трассы стека памяти», если щелкнуть сведения о проблеме на панели управления Crashlytics .

  • Вы также можете использовать новый сигнал и фильтр «Отчет GWP-ASan», чтобы быстро просмотреть все проблемы с этими данными.

Вы можете получать отчеты о памяти GWP-ASan, если ваше приложение использует последнюю версию Crashlytics SDK для Unity (v10.7.0+) и в нем явно включен GWP-ASan (требуется изменить манифест приложения Android ). Если в вашем приложении есть код C++, вы можете протестировать настройку GWP-ASan, используя пример собственного кода в документации Android .

Добавить пользовательские ключи

Пользовательские ключи помогают вам получить конкретное состояние вашего приложения, приводящее к сбою. Вы можете связать произвольные пары ключ/значение с отчетами о сбоях, а затем использовать пользовательские ключи для поиска и фильтрации отчетов о сбоях в консоли Firebase .

  • На панели управления Crashlytics вы можете искать проблемы, соответствующие пользовательскому ключу.
  • Просматривая конкретную проблему в консоли, вы можете просмотреть связанные пользовательские ключи для каждого события (подвкладка «Ключи» ) и даже отфильтровать события по настраиваемым ключам (меню «Фильтр» вверху страницы).

При многократном вызове новые значения для существующих ключей будут обновлять значение, и при записи сбоя фиксируется только самое последнее значение.

Crashlytics.SetCustomKey(string key, string value);

Добавить пользовательские сообщения журнала

Зарегистрированные сообщения связаны с вашими данными о сбоях и отображаются на панели управления Firebase Crashlytics при просмотре конкретного сбоя.

Crashlytics.Log(string message);

Установить идентификаторы пользователей

Вы можете использовать идентификационный номер, токен или хеш-значение, чтобы однозначно идентифицировать конечного пользователя вашего приложения, не раскрывая и не передавая какую-либо его личную информацию. Вы также можете очистить значение, установив для него пустую строку. Это значение отображается на панели управления Firebase Crashlytics при просмотре конкретного сбоя.

Crashlytics.SetUserId(string identifier);

Получить навигационные журналы

Журналы навигации позволяют лучше понять взаимодействие пользователя с вашим приложением, которое привело к сбою, несмертельному событию или событию ANR. Эти журналы могут быть полезны при попытке воспроизвести и отладить проблему.

Журналы навигации основаны на Google Analytics, поэтому для получения журналов навигации вам необходимо включить Google Analytics для вашего проекта Firebase и добавить Firebase SDK для Google Analytics в свое приложение. Как только эти требования будут выполнены, навигационные журналы автоматически включаются в данные о событии на вкладке «Журналы», когда вы просматриваете подробности проблемы.

Analytics SDK автоматически регистрирует событие screen_view , которое позволяет в журналах навигации отображать список экранов, просмотренных до сбоя, нефатального события или события ANR. Хлебный журнал screen_view содержит параметр firebase_screen_class .

Журналы навигации также заполняются любыми пользовательскими событиями , которые вы вручную регистрируете в сеансе пользователя, включая данные параметров событий. Эти данные могут помочь показать серию действий пользователя, приведших к сбою, нефатальному событию или событию ANR.

Обратите внимание, что вы можете контролировать сбор и использование данных Google Analytics , включая данные, заполняющие журналы навигации.

Включить подписку на получение отчетов

По умолчанию Crashlytics автоматически собирает отчеты о сбоях для всех пользователей вашего приложения. Вы можете предоставить пользователям больше контроля над отправляемыми ими данными, разрешив им сообщать о сбоях.

Чтобы отключить автоматический сбор и инициализировать Crashlytics только для выбранных пользователей, вызовите переопределение сбора данных Crashlytics во время выполнения. Значение переопределения сохраняется при запуске вашего приложения, поэтому Crashlytics может автоматически собирать отчеты. Чтобы отказаться от автоматического сообщения о сбоях, передайте false в качестве значения переопределения. Если установлено значение false , новое значение не применяется до следующего запуска приложения.

Crashlytics.IsCrashlyticsCollectionEnabled = true

Управление данными Crash Insights

Crash Insights помогает вам решать проблемы, сравнивая анонимные трассировки стека со трассировками из других приложений Firebase и сообщая вам, является ли ваша проблема частью более широкой тенденции. Для многих проблем Crash Insights даже предоставляет ресурсы, которые помогут вам устранить сбой.

Crash Insights использует агрегированные данные о сбоях для выявления общих тенденций стабильности. Если вы предпочитаете не делиться данными своего приложения, вы можете отказаться от Crash Insights в меню Crash Insights в верхней части списка проблем Crashlytics в консоли Firebase .

,


На приборной панели Crashlytics вы можете нажать на проблему и получить подробный отчет о событиях. Вы можете настроить эти отчеты, чтобы помочь вам лучше понять, что происходит в вашем приложении, и обстоятельствах, связанных с событиями, о которых сообщалось о Crashlytics .

  • Автоматически получайте журналы Breadcrumb , если ваше приложение использует Firebase SDK для Google Analytics . Эти журналы дают вам видимость в действиях пользователей, приводящих к событию, Crashlytics в вашем приложении.

  • Выключите автоматические отчеты о сбоях и включите отчеты для ваших пользователей. Обратите внимание, что по умолчанию Crashlytics автоматически собирает отчеты о сбоях для всех пользователей вашего приложения.

Отчет об исключениях

Отчет поймал исключения

Если у вас есть исключения, которые ожидаются, вы можете получить Crashlytics SDK. Эти события регистрируются на устройстве, а затем отправляются вместе со следующим отчетом о событиях Fatal или когда конечный пользователь перезапускает игру.

Вы можете записать исключения в C#, используя следующий метод:

Crashlytics.LogException(Exception ex);

Вы можете регистрировать ожидаемые исключения в блоках Try/Catch's Try/Catch:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Сообщите об исключениях

Что касается исключений , которые Crashlytics.ReportUncaughtExceptionsAsFatal разбивают вашу игру Crashlytics например, непредучанные исключения в игровой логике), вы можете true Crashlytics SDK. . Об этих событиях сообщается о Crashlytics в режиме реального времени без необходимости перезагрузки игры.

Сообщение об этих необработанных исключениях в качестве смертельных событий означает, что они будут считать в вашей статистике без сбоев пользователя и в направлении оповещений скорости.

Обратите внимание, что нативные аварии всегда сообщаются как смертельные события . Эти события регистрируются на устройстве, а затем отправляются, когда конечный пользователь перезапускает игру.

void Start() {
    // Since there is no try-block surrounding this call, if an exception is thrown,
    // it is considered unexpected.
    // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true`
    // will ensure that such cases are reported as fatals.
    thirdPartyMethodThatMayThrow();
}

Включите отчеты GWP-ASAN, чтобы отлаживать проблемы повреждения памяти

Для приложений для Android, которые используют IL2CPP, Crashlytics может помочь вам отладить сбои, вызванные ошибками нативных памяти, собирая отчеты GWP-ASAN. Эти ошибки, связанные с памятью, могут быть связаны с повреждением памяти в вашем приложении, что является основной причиной уязвимостей безопасности приложений.

  • Вы можете просмотреть эти данные на новой вкладке «Траскими стека памяти», когда вы нажмете подробности проблемы на панели Crashlytics .

  • Вы также можете использовать новый сигнал «Отчет GWP-ASAN» и фильтр для быстрого просмотра всех проблем с этими данными.

Вы можете получить отчеты о памяти GWP-ASAN, если ваше приложение использует последнюю Crashlytics SDK для Unity (V10.7.0+) и имеет явно включенную GWP-ASAN (требует изменения вашего манифеста приложения Android ). Если в вашем приложении есть какой-либо код C ++, вы можете проверить настройку GWP-ASAN, используя пример нативного кода в документации Android .

Добавьте пользовательские ключи

Пользовательские ключи помогут вам получить конкретное состояние вашего приложения, приводящего к сбою. Вы можете связать пары произвольных ключей/значения с вашими отчетами о сбоях, а затем использовать пользовательские ключи для поиска и отчетов о сбоях в консоли Firebase .

  • На приборной панели Crashlytics вы можете найти проблемы, которые соответствуют пользовательскому ключу.
  • Когда вы просматриваете конкретную проблему в консоли, вы можете просмотреть связанные с ними пользовательские клавиши для каждого события (подтаба Keys ) и даже отфильтровать события по пользовательским ключам (меню фильтра в верхней части страницы).

При вызове несколько раз, новые значения для существующих ключей будут обновлять значение, и только самое текущее значение фиксируется при записи сбоя.

Crashlytics.SetCustomKey(string key, string value);

Добавить пользовательские сообщения журнала

Зарегистрированные сообщения связаны с вашими данными о сбое и видны на панели панели Firebase Crashlytics при просмотре конкретного сбоя.

Crashlytics.Log(string message);

Установите идентификаторы пользователей

Вы можете использовать идентификационный номер, токен или хешированное значение, чтобы уникально идентифицировать конечного пользователя вашего приложения без раскрытия и передачи какой-либо личной информации. Вы также можете очистить значение, установив его на пустую строку. Это значение отображается на панели панели Firebase Crashlytics при просмотре определенного сбоя.

Crashlytics.SetUserId(string identifier);

Получите бревна для хлебной крошки

Журналы Breadcrumb дают вам лучшее понимание взаимодействий, которые пользователь имел с вашим приложением, ведущим к сбою, не-лечебным или ANR события. Эти журналы могут быть полезны при попытке воспроизвести и отладить проблему.

Журналы Breadcrumb работают от Google Analytics, поэтому для получения журналов Breadcrumb вам необходимо включить Google Analytics для вашего проекта Firebase и добавить Firebase SDK для Google Analytics в ваше приложение. Как только эти требования будут выполнены, журналы Breadcrumb автоматически включаются в данные события на вкладке журналов , когда вы просмотрите детали проблемы.

Analytics SDK автоматически регистрирует событие screen_view , которое позволяет журналам Breadcrumb отображать список экранов, просмотренных перед сбоем, не-фатальными или ANR событие. Журнал screen_view Breadcrumb содержит параметр firebase_screen_class .

Журналы Breadcrumb также заполняются любыми пользовательскими событиями , которые вы вручную войдут в сеанс пользователя, включая данные параметров события. Эти данные могут помочь показать серию действий пользователя, ведущих к сбою, не фатальническому или ANR событию.

Обратите внимание, что вы можете управлять сбором и использованием данных Google Analytics , которые включают данные, которые заполняют журналы Breadcrumb.

Включить отчеты

По умолчанию Crashlytics автоматически собирает отчеты о сбоях для всех пользователей вашего приложения. Вы можете предоставить пользователям больше контроля над данными, которые они отправляют, позволив им выбрать отчеты о сбоях.

Чтобы отключить автоматический сбор и инициализацию Crashlytics только для выбранных пользователей, вызовите переоборудование сбора данных Crashlytics в среде выполнения. Стоимость переопределения сохраняется в течение запуска вашего приложения, поэтому Crashlytics может автоматически собирать отчеты. Чтобы отказаться от автоматической отчетности по сбою, пройти false в качестве значения переопределения. При установке на false новое значение не применяется до следующего запуска приложения.

Crashlytics.IsCrashlyticsCollectionEnabled = true

Управлять данными о сбоях

Crash Insights поможет вам решить проблемы, сравнивая ваши анонимные трассировки стека с трассами от других приложений Firebase и сообщив вам, является ли ваша проблема частью более широкой тенденции. Для многих проблем Crash Insights даже предоставляет ресурсы, чтобы помочь вам отладить аварию.

Crash Insights использует агрегированные данные о сбоях для выявления общих тенденций стабильности. Если вы предпочитаете не делиться данными вашего приложения, вы можете отказаться от сбоев в меню Crash Insights в верхней части вашего списка проблем Crashlytics в консоли Firebase .

,


На приборной панели Crashlytics вы можете нажать на проблему и получить подробный отчет о событиях. You can customize those reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics .

  • Automatically get breadcrumb logs if your app uses the Firebase SDK for Google Analytics . These logs give you visibility into user actions leading up to a Crashlytics -collected event in your app.

  • Turn off automatic crash reporting and enable opt-in reporting for your users. Note that, by default, Crashlytics automatically collects crash reports for all your app's users.

Report exceptions

Report caught exceptions

If you have exceptions that are expected, you can have the Crashlytics SDK report them as non-fatal events . These events are logged on device and then sent along with the next fatal event report or when the end-user restarts the game.

You can log exceptions in C# using the following method:

Crashlytics.LogException(Exception ex);

You can log expected exceptions in your game's try/catch blocks:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Report uncaught exceptions

For uncaught exceptions that don't crash your game (for example, uncaught C# exceptions in game logic), you can have the Crashlytics SDK report them as fatal events by setting the Crashlytics.ReportUncaughtExceptionsAsFatal property to true where you initialize Crashlytics in your Unity project . These events are reported to Crashlytics in real-time without the need for the end-user to restart the game.

Reporting these uncaught exceptions as fatal events means that they'll count in your crash-free user statistics and towards velocity alerts.

Note that native crashes are always reported as fatal events . These events are logged on device and then sent along when the end-user restarts the game.

void Start() {
    // Since there is no try-block surrounding this call, if an exception is thrown,
    // it is considered unexpected.
    // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true`
    // will ensure that such cases are reported as fatals.
    thirdPartyMethodThatMayThrow();
}

Include GWP-ASan reports to debug memory corruption issues

For Android apps that use IL2CPP, Crashlytics can help you debug crashes caused by native memory errors by collecting GWP-ASan reports. Эти ошибки, связанные с памятью, могут быть связаны с повреждением памяти в вашем приложении, что является основной причиной уязвимостей безопасности приложений.

  • You can view this data in a new "Memory stack traces" tab when you click into an issue's details in the Crashlytics dashboard .

  • You can also use the new "GWP-ASan report" signal and filter to quickly view all issues with this data.

You can get GWP-ASan memory reports if your app uses the latest Crashlytics SDK for Unity (v10.7.0+) and has GWP-ASan explicitly enabled (requires you to modify your Android App Manifest ). If you have any C++ code in your app, you can test your GWP-ASan setup using the example native code in the Android documentation .

Add custom keys

Custom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key/value pairs with your crash reports, then use the custom keys to search and filter crash reports in the Firebase console.

  • In the Crashlytics dashboard , you can search for issues that match a custom key.
  • When you're reviewing a specific issue in the console, you can view the associated custom keys for each event ( Keys subtab) and even filter the events by custom keys ( Filter menu at the top of the page).

When called multiple times, new values for existing keys will update the value, and only the most current value is captured when a crash is recorded.

Crashlytics.SetCustomKey(string key, string value);

Add custom log messages

Logged messages are associated with your crash data and are visible in the Firebase Crashlytics dashboard when viewing a specific crash.

Crashlytics.Log(string message);

Set user identifiers

You can use an ID number, token, or hashed value to uniquely identify the end-user of your application without disclosing or transmitting any of their personal information. You can also clear the value by setting it to a blank string. This value is displayed in the Firebase Crashlytics dashboard when viewing a specific crash.

Crashlytics.SetUserId(string identifier);

Get breadcrumb logs

Breadcrumb logs give you a better understanding of the interactions that a user had with your app leading up to a crash, non-fatal, or ANR event. These logs can be helpful when trying to reproduce and debug an issue.

Breadcrumb logs are powered by Google Analytics, so to get breadcrumb logs, you need to enable Google Analytics for your Firebase project and add the Firebase SDK for Google Analytics to your app. Once these requirements are met, breadcrumb logs are automatically included with an event's data within the Logs tab when you view the details of an issue.

The Analytics SDK automatically logs the screen_view event which enables the breadcrumb logs to show a list of screens viewed before the crash, non-fatal, or ANR event. A screen_view breadcrumb log contains a firebase_screen_class parameter.

Breadcrumb logs are also populated with any custom events that you manually log within the user's session, including the event's parameter data. This data can help show a series of user actions leading up to a crash, non-fatal, or ANR event.

Note that you can control the collection and use of Google Analytics data , which includes the data that populates breadcrumb logs.

Enable opt-in reporting

By default, Crashlytics automatically collects crash reports for all your app's users. You can give users more control over the data they send by letting them opt-in to reporting crashes.

To disable automatic collection and initialize Crashlytics only for selected users, call the Crashlytics data collection override at runtime. The override value persists across launches of your app so Crashlytics can automatically collect reports. To opt out of automatic crash reporting, pass false as the override value. When set to false , the new value does not apply until the next run of the app.

Crashlytics.IsCrashlyticsCollectionEnabled = true

Manage Crash Insights data

Crash Insights helps you resolve issues by comparing your anonymized stack traces to traces from other Firebase apps and letting you know if your issue is part of a larger trend. For many issues, Crash Insights even provides resources to help you debug the crash.

Crash Insights uses aggregated crash data to identify common stability trends. If you'd prefer not to share your app's data, you can opt-out of Crash Insights from the Crash Insights menu at the top of your Crashlytics issue list in the Firebase console .

,


In the Crashlytics dashboard, you can click into an issue and get a detailed event report. You can customize those reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics .

  • Automatically get breadcrumb logs if your app uses the Firebase SDK for Google Analytics . These logs give you visibility into user actions leading up to a Crashlytics -collected event in your app.

  • Turn off automatic crash reporting and enable opt-in reporting for your users. Note that, by default, Crashlytics automatically collects crash reports for all your app's users.

Report exceptions

Report caught exceptions

If you have exceptions that are expected, you can have the Crashlytics SDK report them as non-fatal events . These events are logged on device and then sent along with the next fatal event report or when the end-user restarts the game.

You can log exceptions in C# using the following method:

Crashlytics.LogException(Exception ex);

You can log expected exceptions in your game's try/catch blocks:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Report uncaught exceptions

For uncaught exceptions that don't crash your game (for example, uncaught C# exceptions in game logic), you can have the Crashlytics SDK report them as fatal events by setting the Crashlytics.ReportUncaughtExceptionsAsFatal property to true where you initialize Crashlytics in your Unity project . These events are reported to Crashlytics in real-time without the need for the end-user to restart the game.

Reporting these uncaught exceptions as fatal events means that they'll count in your crash-free user statistics and towards velocity alerts.

Note that native crashes are always reported as fatal events . These events are logged on device and then sent along when the end-user restarts the game.

void Start() {
    // Since there is no try-block surrounding this call, if an exception is thrown,
    // it is considered unexpected.
    // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true`
    // will ensure that such cases are reported as fatals.
    thirdPartyMethodThatMayThrow();
}

Include GWP-ASan reports to debug memory corruption issues

For Android apps that use IL2CPP, Crashlytics can help you debug crashes caused by native memory errors by collecting GWP-ASan reports. Эти ошибки, связанные с памятью, могут быть связаны с повреждением памяти в вашем приложении, что является основной причиной уязвимостей безопасности приложений.

  • You can view this data in a new "Memory stack traces" tab when you click into an issue's details in the Crashlytics dashboard .

  • You can also use the new "GWP-ASan report" signal and filter to quickly view all issues with this data.

You can get GWP-ASan memory reports if your app uses the latest Crashlytics SDK for Unity (v10.7.0+) and has GWP-ASan explicitly enabled (requires you to modify your Android App Manifest ). If you have any C++ code in your app, you can test your GWP-ASan setup using the example native code in the Android documentation .

Add custom keys

Custom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key/value pairs with your crash reports, then use the custom keys to search and filter crash reports in the Firebase console.

  • In the Crashlytics dashboard , you can search for issues that match a custom key.
  • When you're reviewing a specific issue in the console, you can view the associated custom keys for each event ( Keys subtab) and even filter the events by custom keys ( Filter menu at the top of the page).

When called multiple times, new values for existing keys will update the value, and only the most current value is captured when a crash is recorded.

Crashlytics.SetCustomKey(string key, string value);

Add custom log messages

Logged messages are associated with your crash data and are visible in the Firebase Crashlytics dashboard when viewing a specific crash.

Crashlytics.Log(string message);

Set user identifiers

You can use an ID number, token, or hashed value to uniquely identify the end-user of your application without disclosing or transmitting any of their personal information. You can also clear the value by setting it to a blank string. This value is displayed in the Firebase Crashlytics dashboard when viewing a specific crash.

Crashlytics.SetUserId(string identifier);

Get breadcrumb logs

Breadcrumb logs give you a better understanding of the interactions that a user had with your app leading up to a crash, non-fatal, or ANR event. These logs can be helpful when trying to reproduce and debug an issue.

Breadcrumb logs are powered by Google Analytics, so to get breadcrumb logs, you need to enable Google Analytics for your Firebase project and add the Firebase SDK for Google Analytics to your app. Once these requirements are met, breadcrumb logs are automatically included with an event's data within the Logs tab when you view the details of an issue.

The Analytics SDK automatically logs the screen_view event which enables the breadcrumb logs to show a list of screens viewed before the crash, non-fatal, or ANR event. A screen_view breadcrumb log contains a firebase_screen_class parameter.

Breadcrumb logs are also populated with any custom events that you manually log within the user's session, including the event's parameter data. This data can help show a series of user actions leading up to a crash, non-fatal, or ANR event.

Note that you can control the collection and use of Google Analytics data , which includes the data that populates breadcrumb logs.

Enable opt-in reporting

By default, Crashlytics automatically collects crash reports for all your app's users. You can give users more control over the data they send by letting them opt-in to reporting crashes.

To disable automatic collection and initialize Crashlytics only for selected users, call the Crashlytics data collection override at runtime. The override value persists across launches of your app so Crashlytics can automatically collect reports. To opt out of automatic crash reporting, pass false as the override value. When set to false , the new value does not apply until the next run of the app.

Crashlytics.IsCrashlyticsCollectionEnabled = true

Manage Crash Insights data

Crash Insights helps you resolve issues by comparing your anonymized stack traces to traces from other Firebase apps and letting you know if your issue is part of a larger trend. For many issues, Crash Insights even provides resources to help you debug the crash.

Crash Insights uses aggregated crash data to identify common stability trends. If you'd prefer not to share your app's data, you can opt-out of Crash Insights from the Crash Insights menu at the top of your Crashlytics issue list in the Firebase console .