Unity5.2以降でUnity Analyticsを使う

結構前の話ですが、5.2以降でも通じる話なので書いておこうと思います。

Unity5.1においてUnity AnalyticsがUnity内部に組み込まれました。これによりアセットストアからSDKを落としてきて組み込むといった手間はなくなり、使いやすくなりました。Project IDというものをWebサイトから取得し、PlayerSettingsで設定するという方法でUnity Analyticsが有効になったと思います。(この記事を見ると、現在は5.1のProject IDはあまり推奨されていないみたいです。またしても5.1ではSDK方式でも対応できるようになっています。)

Unity5.2以降もUnity AnalyticsがUnity内部に組み込まれているため、SDKは不要です。サービスウィンドウができたため、ここでUnity Analyticsの有効にすることができます。サービスウィンドウに色々なサービスがまとめられたため、やり方が変わったのが5.2です。つまり、使い方が変わっただけで5.1から進歩していません。(内部的には変わっているかもしれませんが……)

サービスウィンドウを開くと下のようになっています。Unityアカウントにログインしないと何もできないということです。

ログインすると、新しくProject IDを作るか既にあるIDをリンクするかを選ぶことができます。既にProject IDがあるというのは、古いバージョンのUnityでAnalyticsを使っていたとか、管理サイト上でProject IDを取得したということが考えられます。そのような場合はそのIDを設定すれば良いです。

Project IDも新しく作る場合(新しいプロジェクトならそのはず)はUnityアカウントの所属する組織を選びます。Select organizationにリストが出るので、適当なものを選びます。そうするとCreateボタンが押せるようになるので押してください。

新しくProject IDが生成され、ウィンドウにProduct Nameが表示されるようになりました。Analytics以外のサービスも設定できますが、今回はAnalyticsのボタンを押して有効にします。

後は画面に沿ってEnable Analyticsボタンを押すか右上の有効・無効切り替えのトグルを押します。有効化するときに年齢制限の確認が聞かれます。(これはアメリカの法律でCOPPAというものに対応するためのものです。13歳未満の子供の個人情報を収集する際に制限があります。13歳未満対象かどうかをUnityが知るためアプリごととに設定することを求められているのでしょう。)詳細についてはここを見ると良いです。

以上で設定は終了です。サービスウィンドウ上でもAnalyticsがONになっていることを確認できます。
この設定が終わったら一度はEditor上で起動しておいてください。これによりPCから管理サイトにAnalyticsの情報を送ります。管理サイト上にValidateチェック用のページがあるので、それを見るとすぐに正しく接続できたかがわかるようになっています。ここらへんは以前と同じです。
カスタムイベントの集積には最長6時間程度かかるそうなので、6時間待ってからチェックすれば良いです。


最後に注意点を書いておきます。かなり重要なので、覚えておくとたぶん役に立つでしょう。

Analytics.CustomEventメソッドはUnity Analyticsが有効にされていないと、「The name `Analytics’ does not exist in the current context」というエラーが発生します。
カスタムイベントのメソッドがエラーを起こすため、自分でカスタムイベントをラップして呼び出しておくのがお勧めです。

Unityを閉じると、サービスウィンドウで設定したはずのProject IDのリンクが解除されています。内部的にはProjectSettings.assetにProject IDが保存されているためリンクされていますが、ウィンドウ上では新たにはじめる状態が表示されていてIDがなくなってしまったのかと勘違いします。
ここでCreateしてしまうと新たにIDが増えていくので、「I already have a Unity Project ID」 を選んでリンクするのが通常の使い方だと思います。設定を変えなければ開くことはないかもしれませんが、これは結構驚く挙動です。