Crashlyticsでスマホアプリのクラッシュ撲滅!

当社ではアドテクを始めとしたプロダクト・ソリューションを提供していますが、かつては自社サービスとしてスマホアプリも開発・運用をしていました。 当時既にアプリマーケティングに関わる手法・ツールは多々ありましたが、アプリとしてのそもそもの品質を考えたときに「クラッシュしない」ことは何よりも重要でした。 実際には機種固有の現象や様々な理由からクラッシュが発生してしまうものですが、「クラッシュの状況・原因を如何に可視化できるか、そしてその原因を早急に潰すことができるか」を追求していくことは即ちユーザーからの信頼に直結します。 当社ではそのために「Crashlytics」というツールを利用していました。

Crashlyticsロゴ Crashlytics

Crashlyticsとは?

Crashlyticsは現在(2018年4月)無償で使えるツールで、アプリのクラッシュの検出と、そのログを収集してくれるツールです。 簡易なユーザ登録とスニペットの導入だけでログの収集ができます。 2017年12月以降はFirebaseに統合されているので、Firebaseの画面上からクラッシュレポートを確認できるのも便利な点ですね。

Firebase Crashlytics ベータ版のお知らせ

Crashlyticsの使い方

それではCrashlyticsの使い方を、順を追って説明していきます。

ユーザーアカウントの発行

メールアドレス、自分の名前、会社名をフォームに入力。後ほどInvitationのメールが届くので、そこからCrashlyticsアカウントを作成します。

Crashliticsアカウント発行画面

なお途中、使用したい開発環境を選択するページがあるので、ご使用のIDEを選択します。

環境選択画面

Crashlyticsの起動

利用規約に同意し、Crashlyticsアプリケーションをダウンロードします。

アプリケーションのダウンロード

Crashlyticsを起動すると、クラッシュログを収集したいアプリのプロジェクトを選択し、指定のスクリプトを実行してビルドを行います(表示に従って実行するだけです)。

Crashlyticsの起動

ClashlyticsのSDK組み込み

最後に、CrashlyticsSDKをアプリに組み込みます。Xcodeの場合、アイコンをXcodeプロジェクトにドラッグ&ドロップで投げ入れて、

clashlyticsの組み込み

指定の初期化コードをアプリ内に記述するだけで組み込みはほぼ完了です。

clashlyticsのログ収集

Crashlyticsをアプリに組み込むとその瞬間からログの蓄積が開始されます。

Crashlyticsの運用

クラッシュの状況は、指定期間における「クラッシュ数」、「クラッシュの影響があったユーザ数」、「クラッシュが発生したプログラム上の箇所」を確認する事ができます。

レポート画面

当社でアプリを開発していた当時は、バージョンリリース後に1~2週間くらいの一定期間ログの監視を行い、その後改善期間を儲けてクラッシュが多い箇所から順にバグを修正する・・・というサイクルを循環させることで、クラッシュの撲滅を図っていました。

クラッシュは様々なで起こっているので、ある閾値を越えたクラッシュに対してだけ対処するようにし、あれもこれもと対応しないようにするのが運用のコツです。

また「Answers」という機能では、クラッシュに関わらずアプリの包括的なデータを見ることが可能です。DAU、MAUやユーザのリテンション情報を統合して管理する事ができるので、ユーザ状況を確認する際Google Analyticsのような他計測ツールを見に行く手間が省けます。

アプリのクラッシュはユーザー体験に直結する重要な要素です。可能な限り効率的なクラッシュ撲滅を実現したいですね。