Firebase Crashlytics API を Unity 向けに変更する

Firebase チームは、Firebase Crashlytics for Unity のリリースにより、Fabric のデベロッパーが使っている機能を Firebase に移行しました。これに伴って若干の変更を加え、Firebase Crashlytics API がさらに直感的に、デベロッパーの皆さんにとって使いやすいものになりました。

すでに Fabric Crashlytics SDK をお使いのデベロッパーの皆さんは、Firebase Crashlytics にアップグレードするときにコードにマイナーな変更を行わなければならない可能性があります。このガイドでは、API への具体的な変更点、変更の理由、回避策が必要な場合に役立つ推奨事項について詳しく説明します。

Fabric.Crashlytics から Firebase.Crashlytics へ

名前空間が Fabric から Firebase に変更しました。

Fabric

using Fabric.Crashlytics;

Firebase

using Firebase.Crashlytics;

RecordCustomException から LogException へ

検出されて処理された致命的でないカスタムの例外をログに記録します。

Fabric

Crashlytics.RecordCustomException(string name, string reason, StackTrace stackTrace);
Crashlytics.RecordCustomException(string name, string reason, string stackTraceString);

Firebase

Crashlytics.LogException(Exception ex);

変更理由

この関数は通常、Exception のインスタンスをログに記録するために使用されます。「name」、「reason」、「stackTrace」を手動で抽出する代わりに(これらを抽出すると不要なコードが生成される)、Exception のインスタンスを提供できるようになり、Firebase Crashlytics によって必要な情報が抽出されるようになりました。

回避策

例外から直接情報を抽出する以外にこれらのパラメータを利用していた場合は、引き続き独自の Exception サブクラスを作成し、その説明にカスタムのメタデータを含めることで、以前の動作を保つことができます。

SetKeyValue から SetCustomKey へ

クラッシュ レポートとともに送信する Key-Value ペアを設定します。同じキーを設定し直すと、値が更新されます。

Fabric

Crashlytics.SetKeyValue(string key, string value);

Firebase

Crashlytics.SetCustomKey(string key, string value);

変更理由

このメソッドの名前の変更は、動作をわかりやすくし、他の Firebase API との一貫性を高めるために行いました。

SetUserIdentifier から SetUserId へ

クラッシュが発生したユーザーを特定するのに役立つユーザー ID を設定します。

Fabric

Crashlytics.SetUserIdentifier(string identifier);

Firebase

Crashlytics.SetUserId(string identifier);

変更理由

このメソッドの名前の変更は、他の Firebase API との一貫性を高めるために行いました。しかも短くなったので、入力の手間も減りました。

SetUserEmail と SetUserName を削除

以前は明示的な方法で、クラッシュに関する名前やメールを設定することができましたが、今後は明示的な定義ができなくなります。

Fabric

Crashlytics.SetUserEmail(string email);
Crashlytics.SetUserName(string name);

変更理由

Google は顧客データの保護に努めており、その取り組みの一環として顧客データを保護するデベロッパー ツール向けの API を開発しています。これらのユーザー固有の API を削除したのは、クラッシュの影響を受けたユーザーを識別する際に、生成済みの個人を特定しないメソッドの使用を促すことを目的としています。

回避策

クラッシュが発生したユーザーを指定するには、SetUserId の使用をおすすめします。この方法で解決できない場合は、SetCustomKey を使用して同じ機能を実現できます。

Crash と ThrowNonFatal を削除

以前、Crashlytics にはテストのために例外をスローする 2 つのユーティリティ メソッドが用意されていましたが、Firebase Crashlytics にはこれらのメソッドが含まれません。

Fabric

Crashlytics.Crash();
Crashlytics.ThrowNonFatal();

変更理由

Crashlytics for Unity はさまざまな環境で動作し、多様なクラッシュが発生する可能性があります。これらのメソッドは、発生したクラッシュが C# で発生したのか、基盤となるプラットフォーム固有のネイティブ SDK で発生したのかを明示しませんでした。

回避策

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。