Backtrace使い方まとめ

アカウント作る

無料プランからでよいと思う(

プロジェクトを作る

左上の●ボタン押すとサイドメニューみたいのが出てくるので プロジェクトを作成

キー作成?

Unityインテグレーションガイドに従う

上記でも書いたサイドメニューのプロジェクト設定を押すと画面が切り替わる

左サイドメニューのインテグレーションガイドを押すと、対応してるプラットフォーム一覧が出てくる

Unityを選択して手順通りに設定していこう(ここにはプロジェクト固有の送信URLが記載されている

backtrace-unity ライブラリをインストールして設定する

Just a moment...

ライブラリインストール

Backtrace | io.backtrace.unity | Unity Package (UPM) Download
First-class error reporting for the Unity game engine.

scoped registoryに登録してから、Add package by nameの流れ

慣れてる人ならわかるはず。上記リンク手順通りにやろう

2022/5/27時点では3.7.6-preview 1を勧められる。結構な頻度でpreviewを推してくるが安定してるので気にせずインストールしていい

他にもgit url版、unityパッケージダウンロード版がある

Backtrace Configuration設定

メニューAssets > Backtrace -> Configuration option

Backtrace Configuration.assetが作られる

ウェブページのインテグレーションガイドのところに記載されてる送信URLをコピー、Backtrace Configuration.assetのServerAddressにペーストする

HierarchyにBacktrace Clientコンポーネントを置く

先のBacktrace Cofiguration.assetを設定してやる

常駐しておく必要がある。DontDestroyOnLoad設定をするか、常駐シーンに置いておくか

おめでとう! これでエラーが発生すると自動でレポートが送信されるようになります

インテグレーションガイドにはサンプルコードみたいのがある。しかしBacktraceClientをあらかじめ配置した場合は全自動でいい感じに初期化してくれてるので気にしなくていい

Tips

BackTraceClientにコードからアクセス…したいがクラスが表示されない

AssemblyDefinitionFile必須なんだ…すまない。Assembly-CSharpのみで運用してる場合はアクセス不能かも

package書き換える荒技はオススメしないので、ADF運用してほしい

レポートにファイルを添付したい

ファイルパスが決まっている場合はBacktrace Configuration.assetのReport attachment pathsに書くとよい。

${Application.persistentDataPath}/test.txt

$表記が使える

動的にファイルを生成してる場合は、色々やり方がある

public void Initialize()
        {
            backtraceClient.BeforeSend = OnBeforeSend;

        }
        public void Dispose()
        {
            backtraceClient.BeforeSend = null;
        }

        private BacktraceData OnBeforeSend(BacktraceData data)
        {
            // ログを添付
            if (data.Classifier == null || !data.Classifier.Any())
            {
                
                    data.Attachments.Add(FileIOUtil.GetAbsPath(ConfigIO.kPathConfig));
                    data.Attachments.Add(FileIOUtil.GetAbsPath(GameIO.kPathConfig));
                
            }

            return data;
        }

ファイル添付して送ろうとしたらエラー

Curl error 60: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_USER_ERROR1
[Backtrace]::Reponse code: 0, Response text: SSL CA certificate error

パスが正しいか、ファイルがその名前で存在し、アプリケーションがファイルを読み取るためのアクセス許可を持っているか確認しよう。

僕は絶対パスを間違えこのエラーが出て見当違いの修正をしてました