Quick answer: Crash notifications turn crash reporting from a passive archive into an early warning system. Set up alerts for two things that matter most: a brand-new crash signature that just appeared, often right after a release, and a known crash that is suddenly spiking in volume. Tune the thresholds so alerts mean something, route them where you will actually see them, and you find out before your players do.

There is a special dread in learning your game is crashing from a wave of one-star reviews. By the time the app store tells you, the damage is done and hundreds of players have already had a bad night. Crash reporting on its own is a passive archive you have to remember to check, and nobody checks it at two in the morning when a release goes sideways. Crash notifications close that gap by pushing the bad news to you the moment it happens, so you can react in minutes instead of days. This post covers setting up alerts for new and spiking crashes, tuning them so they stay meaningful, and routing them so they actually get seen.

Why passive crash reporting is not enough

Collecting crashes is necessary but not sufficient, because a report sitting in a dashboard helps nobody until someone looks at it. The reality of indie development is that nobody is staring at the crash dashboard around the clock, so a crash that starts the moment a release goes out can rage for hours or days before anyone notices. The gap between when a crash starts and when a human sees it is pure unmanaged damage, measured in frustrated players, lost sessions, and reviews you cannot take back once they are posted.

Notifications flip the model from pull to push. Instead of relying on someone to remember to check, the system tells you when something is wrong, so your attention is spent only when it is needed. This is especially valuable in the hours after a release, the single most likely time for a new crash to appear and the time you most want to know immediately. A good notification setup means the question is not whether you will find out about a crash spike, but how fast, and fast is the entire point of the exercise.

Alert on new crash signatures

The highest-value alert is for a crash signature that has never been seen before. A brand-new signature appearing, especially right after you ship, is the clearest possible signal that your release introduced a regression. Because crashes are grouped by a fingerprint of their stack trace, the system can tell a genuinely new crash from another instance of an old one, and the appearance of a new group is exactly the event worth waking up for. Catching a release-induced crash in its first minutes lets you halt a rollout before it reaches most of your players.

Tune new-signature alerts so they signal rather than spam. A single occurrence of a new crash on one unusual device may not warrant an alert, while a new signature that racks up many occurrences quickly almost certainly does. Consider requiring a small threshold of occurrences or affected players before a new signature alerts, so you are notified about real problems and not every one-off oddity. The aim is that when a new-crash alert fires, it reliably means something you genuinely need to look at, because alerts you learn to ignore are worse than no alerts at all.

Alert on spiking crashes

The second essential alert watches known crashes for sudden surges. A crash that normally happens a handful of times a day and abruptly jumps to hundreds an hour is telling you something changed, even if the crash itself is not new. Maybe a server change triggered a latent client bug, maybe a platform update broke something, maybe a piece of content went live that exercises a fragile path. A spike alert catches these emergent problems that no individual report would flag, because the story is in the rate of change, not any single occurrence.

Spike detection needs a sense of normal to compare against, so the alert should fire on a meaningful deviation from a baseline rather than a fixed count that ignores context. What counts as a spike for a game with a thousand players is different from one with a million, and a number that is alarming at launch is routine at scale. Set the sensitivity to your volume and adjust it as you grow, so the alert fires on genuine surges and stays quiet during normal fluctuation. A well-tuned spike alert is your early warning for problems you did not anticipate and could not have written a specific rule for.

Routing and tuning so alerts get seen

An alert that fires into a channel nobody watches is the same as no alert at all, so route notifications where your team actually lives. For most indie teams that is a chat tool like Discord or Slack where someone will see it quickly, rather than an email buried in an inbox. Make the alert itself useful at a glance: the crash signature, how many times it has occurred, how many players are affected, the build involved, and a direct link to the full details, so the person who sees it can assess severity without digging.

The hardest and most important part is tuning, because the failure mode of alerting is fatigue. If alerts fire too often or for trivial things, people learn to ignore them, and then a real emergency scrolls past unread. Start conservative, alert only on the clearly significant, and tighten or loosen the thresholds based on whether the alerts you get turn out to be worth acting on. An alerting system earns its keep only if the team trusts that a notification means something, and protecting that trust by ruthlessly silencing noise is what keeps the whole thing working.

Setting it up with Bugnet

Crash notifications build directly on the crash reporting Bugnet already does. Crashes arrive with full stack traces and device context, and occurrence grouping folds them into signatures with live counts, which is exactly the foundation alerting needs: a reliable way to tell a new crash from an old one and to measure how fast each is occurring. Because the grouping and counting happen automatically, the system can recognize the two events that matter, a new signature appearing and a known one spiking, without you building the detection machinery yourself.

From there, alerts route to where your team works, carrying the signature, the occurrence count, the affected build and platform, and a link straight into the dashboard, so a notification is the start of a fix rather than just a heads-up. Custom fields and build filtering let you compare a suspect release against the previous one the moment an alert fires, confirming a regression in seconds. The same unified dashboard that holds your reports drives the notifications, so monitoring, alerting, triage, and fixing all happen in one place instead of a stack of disconnected tools.

From alert to action

A notification is only useful if it triggers a response, so decide in advance what happens when one fires. Who is on call, what the first investigation step is, and what would justify halting a rollout or shipping a hotfix. Pairing crash alerts with a staged rollout is especially powerful: a new-signature alert during a canary release tells you to stop widening before the crash reaches everyone, turning the alert into a concrete, reversible decision rather than just an unwelcome piece of information you note and worry about.

Review your alerting periodically the same way you review tests, asking whether the alerts you got were the ones you needed and whether anything slipped through unalerted. Add detection for any crash class that hurt you without firing an alert, and silence any source of noise that trained the team to tune out. Over time a well-maintained alerting setup means you reliably hear about crashes from your own tools, in minutes, instead of from the app store days later, which is the difference between managing your game's stability and being managed by it.

Passive crash reporting tells you days late. Alert on new signatures and spikes, route them where you will see them, and tune ruthlessly so alerts always mean something.