アプリのクラッシュ、誰しも一度は経験があると思いますが、嫌ですよね。
使う気なくしますよね。

ある調査によると、半数以上のスマホユーザは、クラッシュが4回(もしくはそれ未満)発生するとそのアプリを使わなくなる(*1)そうです。

どれだけ革新的な技術を使っていても、どれだけUXに優れていても、どれだけお金をかけてマーケティングしても、たった4回のクラッシュで台無しになってしまいます。

そこでクラッシュが発生しないようにしたいのですが、基本的にクラッシュ率を0%にすることはほぼ不可能です。
誰もが使っているような超有名なアプリだって、ごくまれに落ちます。
リリース前のテストで1度も落ちなくても、リリース後にユーザが使うと落ちます。
本番環境のほうが、動作パターン、試行回数ともに圧倒的に多いので当たり前です。

そこで大切なのが本番環境で発生したクラッシュを確認し、修正していくことです。
なにかのソーシャルゲームアプリに対する意見で「リリース直後は全ユーザがテスターのβ版」という言葉を耳にしたことがありますが、個人的には大きく間違ってはいないと思います。
(もちろん、リリース前に可能な限りバグは潰します)

その本番環境で発生したクラッシュを確認するための方法はいくつかありますが、私は Firebase の Crashlytics を使用しています。
Crashlytics を選んだ理由は、無料で使えることに加えて、「Analytics や Push通知など様々なサービスが入っている Firebase のサービスの一つである」というところが大きいです。
すでに数多くのプロジェクトで採用されていると思います。

Crashlytics の画面

こちらが、とあるアプリにおける Crashlytics の画面になります。
割とクラッシュしているように見えますが、1日あたりのクラッシュの影響を受けないユーザが99%以上であればそれなりに安定しているのかなと考えています。
このアプリはもう少しですね。

画面を見てもらえるとわかるかもしれないのですが、Crashlytics を使えば、端末、OS、アプリのバージョンなどの単位でクラッシュを調べることもでき、急なクラッシュの増加などを通知で知ることもできます。
(このアプリもベロシティアラートが出ているので、早く対応しないと…)

各クラッシュの詳細も、このように確認することができます。
どのクラスの何行目でクラッシュしたか まで確認することができるので、原因の特定が行いやすいです。

ということで、

 クラッシュ修正は急務

 そのためにも監視サービスを積極的に使っていこう

というお話でした。
もしまだ導入していないプロジェクトがあれば、今すぐにでも導入することをおすすめします!

参考

*1  どれが「くそアプリ」? 10代と20代に嫌われるスマホアプリの原因とは – BCN+R
https://www.bcnretail.com/market/detail/20200318_162648.html