ユーザー体験とパフォーマンスは、どんなゲームでも最も重要な2つの指標です。どのようなプラットフォームでも、可能な限り最適な状態で動作するようにする必要があります。
理想を言えば、プレイヤーから「動かない」「壊れている」と怒られるのは避けたいところです。また、ゲーム内で発生した問題が、その関連情報とともに通知されることが求められます。
そこで、Sentryの出番です。
Sentryは、開発者がアプリケーションを監視して、重大なエラーやパフォーマンスの問題について把握するのに役立ちます。さらに、ゲーム内のエラーを追跡する重要なコンテキスト情報を提供するため、迅速に修正することができ、プレイヤーに満足してもらいやすくなります。
また、Unityと統合したSDKを提供することで、開発者がゲームを監視することを容易にしてくれます。
このシリーズでは、SentryのUnity SDKをセットアップして、ゲームのエラーやパフォーマンスの問題を監視する方法について説明します。
入門編
前提条件
はじめに、以下のものがインストールされていることを確認してください。
- Unity Hub
- Unity Package Manager – Unity Hubをインストールした場合、Unity Package Managerもインストールされているはずです。
Sentryのアカウントを作成する
すでにSentryのアカウントをお持ちの場合は、このステップをスキップすることができます。お持ちでない場合は、Sentryに移動し、無料のアカウントを作成してください。
アカウント作成後、このような画面が表示されます。
「Install Sentry」をクリックして進むと、新しい画面に遷移します。そこで、監視するプラットフォームとしてUnityを選択します。
最後に、「Create Project」をクリックして、Sentryプロジェクトを作成します。
Sentry SDKの設定
Sentry SDKは、Unityエディタ内で直接インストール、設定することができます。
Sentry SDKのインストール
ここでは、Unity Package Manager経由でSDKをインストールすることをお勧めします。
プラスアイコンをクリックすると、パッケージマネージャがパッケージを取得するためのGitHubリポジトリURLを指定するオプションが表示されます。
https://github.com/getsentry/unity.git#0.27.0
インストールが完了すると、以下のようなアウトプットが表示されるはずです。
いくつかのバグをトリガーに、ゲームをクラッシュさせるデモシーンを含むサンプルがあり、オプションでインポートすることができます。
そして、SDKがイベントの送信先と関連するプロジェクトを知るためには、SentryプロジェクトのDSN(データソース名)を追加する必要があります。これは、[ツール] -> [Sentry]に移動して設定することができます。
[Sentry]をクリックすると、以下のようなセットアッププロンプトが表示されるはずです。
「Start Wizard」をクリックし、ウィザードを初期化します。すると、Sentryは自動的にブラウザタブを立ち上げ、既存のプロジェクトをエディタにインポートします。
もしプロジェクトが1つしかない場合、設定ウィザードは終了します。複数ある場合、Unityのゲームと関連づけるプロジェクトを選ぶプロンプトが表示されます。
最後に、同梱のサンプルを使用するか、次のようなスニペットで独自の例外を投げることで、Sentryが期待通りに動作しているかを確認することができます。
上図は、スニペットで発生した例外のエラーイベントを示しています。
SDKはこれを自動的にキャッチアップし、Sentryに送信し、issueとしてリストアップしてくれます。
最新リリースでの新機能
エラーのキャプチャーは、Sentryの多くの機能の1つに過ぎません。Sentryの最新版では、Unityのエラー診断と修正に役立つ多くのユーティリティが追加されました。
iOS、WebGLなどでもUnityをサポートするようになり、開発者はデスクトップアプリケーションの監視サポートも可能になりました。しかし、Sentryはそれだけにとどまりません。次のような機能も追加されました。
- すべての対応プラットフォームに対応したシンボルの自動アップロード
- 以前は、画面のフリーズを検出する方法がありませんでしたが、メインスレッドが5秒以上フリーズした場合に、自動的にイベントを作成するようになりました。
- モバイルとデスクトップのスクリーンショットをキャプチャします。イベント発生時にスクリーンショットをキャプチャするかを選択できるようになりました。以下の画面で、スクリーンショットのキャプチャが有効になっていることを確認することができます。
まとめ
ゲームはできるだけエラーを出さないことが重要です。プレイヤーからの高い評価を得るためには必要不可欠であると言えます。
SentryはUnityゲームの観測可能性、監視、およびエラー報告のための素晴らしいツールです。問題が発生したときに確実に通知され、ユーザーがそれに気づく前にエラーを修正することができるからです。
この記事に続く第2部では、実際のバグを修正する手順を紹介します。
Sentryは、アプリケーションコードの健全性を監視するのに不可欠です。
エラートラッキングからパフォーマンスモニタリングまで、開発者は、フロントエンドからバックエンドまで、アプリケーションをより正確に把握し、より迅速に解決し、継続的に学習することができます。
Sentryは、世界中の350万人以上の開発者と85,000以上の組織に愛され、Disney、Peloton、Cloudflare、Eventbrite、Slack、Supercell、Rockstar Gamesといった世界的有名企業の多くにコードレベルの監視機能を提供しています。
毎月、世界中で人気のサービスやアプリケーションから、数十億件の例外を処理し続けています。
IchizokuはSentryと提携し、日本でSentry製品の導入支援、テクニカルサポート、ベストプラクティスの共有を行なっています。Ichizokuが提供するSentryの日本語サイトについてはこちらをご覧ください。またご導入についての相談はこちらのフォームからお気軽にお問い合わせください。