Firebase AnalyticsのUnityプラグインを使ってみよう!

どうも。ゴン氏です。
FirebaseのUnity pluginが公開されましたね。
自分で作らなくてよかった。
英語物語にもAnalyticsを導入予定ですし、
せっかくなので、導入過程を記事化してみようと思います。
まずはAndroidからです。
作成日:2016年11月14日
対象:firebase_unity_sdk_1.0.0のFirebaseAnalytics.unitypackage

★★★★要点★★★★
①登録してから、データが反映されるまでに24時間かかる事があるらしいから、早めに登録しとこう。
②PlayServicesResolverで必要なJarをインストールしないといけないので、気をつけろ!デフォルトではOnになってないかも。
★★★★★★★★★★

●流れ
①サンプルアプリがAndroidで動くように頑張ろう!
②サンプルアプリを触って、何ができるのかと挙動を確認しよう!
③英語物語に導入しよう!

という感じでやっていきます。
【①サンプルアプリが動くように頑張ろう!】
★まずは、本家サイトを見ましょう。(下記にリンクも記載しますが、本家サイトのリンクを使うほうが良いです!)
https://firebase.google.com/docs/unity/setup

★サンプルを落としてみよう。analyticsの中にあるシーンを展開します。
https://github.com/firebase/quickstart-unity

あれ、コンパイルエラーが。SDKがサンプルアプリには入ってないからか。

SDKをDLして、FirebaseAnalytics.unitypackageを展開します。
https://dl.google.com/firebase/sdk/unity/firebase_unity_sdk_1.0.0.zip

コンパイルエラーはなくなったっぽい。
しかしSampleもSDKもあんまりイケてない気がしますね。
●フォルダ名には空白を使わないでほしい。
●一つの親フォルダの中に全部入れて欲しい。
●親フォルダはそのプラグイン独特の名前をつけといて欲しい。(たとえば、Firebase

screen-shot-2016-11-14-at-3-35-06-pm

No GoogleService-Info.plist file found in your project
というエラーが出てるな。

まあ、Firebaseのアカウントと紐付けろって事だよね。
本家サイトに戻って、それらしきドキュメントを探します。

★FireBaseのアカウントを作ります。
https://console.firebase.google.com/?pli=1

僕の場合は、既存のプロジェクトに紐付ける感じで作りました。

★Add Firebase to your Android appを押します
いい感じに入力して、進めると、google-services.jsonというファイルをDLさせてもらえるので、こいつをProjectの中に突っ込みます。

SHA-1については、このページを参考にしました。
https://developers.google.com/android/guides/client-auth

build.gradle の設定をしろと、言われますが、Unityだと別のやり方なので、無視します。

プレイしてみると、やはり、まだエラーが出る模様。きっとEditorだからに違いない。実機にDLしてみます。

★実機にDLしてみる。
Build SettingからプラットフォームをAndroidに修正し、
念のため、パッケージ名を修正した上で、本番用のkeystoreを使って、
ビルドしてみます。Script DebuggingをOnにして、シーンを追加するのも忘れないようにします。

ビルド通れ!ビルド通れ!ビルド通れ!ビルド通れ!ビルド通れ!
(開発者ならこの気持わかるよね?)

と念じた後、
よしビルド通った!と思ったら、
案の定強制終了が発生しました。

ログを見てみると、
android.os.DeadObjectException
というの悪さをしてるっぽい。

マニュアル読んでも解決法らしきものが書いてないので、
途方にくれつつ、ここからがプログラマの仕事だと割り切って、
勘を働かせる。

なんか、build.gradleの設定を飛ばしてるのが原因ではなかろうか。
UnityだとPlayServicesResolverでその辺の管理をしてるはず。
今まで経験だと、勝手にAndroid下のPluginの中に、必要なjarっぽいものを入れるはず。と思って見てみるが、やはり入ってない。

どうやって入れるんだっけな〜と記憶を遡り、
Assetメニューの中にPlay Service Resolverを発見。
Settingの中のBackgroundで勝手にインストールする的なものをOnにすると、何やら、確認ポップが現れ、同意すると、長い長いDLが始まった。フィリピンにいるからね。仕方ないね。

Firebase AnalyticsのUnityドキュメントでも読みながら待とうと思ったら、
OverViewに関連クラス一覧しか書いてないと嘆いていたら、
https://firebase.google.com/docs/reference/unity/namespace/firebase/analytics

Analyticsの方のページに色々説明がありました。
https://firebase.google.com/docs/analytics/unity/start

Events(とEvents毎に適切なParameter)
https://support.google.com/firebase/answer/6317485

User properties
https://support.google.com/firebase/answer/6317486

を理解すればいいっぽい。

イベント登録数 500
イベントに付与するパラメータ数 25
ユーザープロパティ登録数 25
ユーザーリスト登録数 50

その他にもこういう制限

そうこうしているうちにDLが完了し、それっぽいjar達がDLされる。

screen-shot-2016-11-14-at-4-29-57-pm

今度は強制終了がでませんようにと、願いながらBuild And Run!
よし!強制終了なし!
device-2016-11-14-165054

こんな感じの画面がAndroidに表示されました!
が、、コンソールを見てみても反映されてる感じはなし。
Realtime機能が無いと、確認がしにくくて、不便ですね。

またあとで、イベントが反映されてるか見てみましょう。

あ、どうやら、登録してから、開始するまでに最大24時間のラグがあるようだ。先に登録してればよかったOrz…
screen-shot-2016-11-14-at-5-23-16-pm

さて、そろそろ出来たかな?と思いきや、
変わらず、これは、データが遅れて無い臭いな。。


コメントを残す

メールアドレスが公開されることはありません。

Scroll Up