Firebase、気になってたので試してみる。
やったことをメモ
はじめに
つい最近(11/24だから3日前)、unity用のパッケージが出たらしい。
googledevjp.blogspot.jp
なんてタイムリーな。
環境
- 書いた日:2016/11/27
- Unity 5.5.0b4
- firebase_unity_sdk 1.0.1
手順
基本はここに書かれてる通りにするだけ
https://firebase.google.com/docs/unity/setup
自分は Firebase Analytics
しか使わないけど他も同じだと思う。
Firebase上でアプリを追加
iOSアプリ
作成するとGoogleService-Info.plist
がダウンロードされる。Androidアプリ
作成するとgoogle-services.json
がダウンロードされる。
ここから
Firebase Unity SDK
をダウンロードする。2016/11/27現在、
firebase_unity_sdk_1.0.1.zip
だった。
中身はunitypackageの詰め合わせ
Unityプロジェクトを開いた状態で、
FirebaseAnalytics.unitypackage
をダブルクリックして取り込む。なんかたくさんあるけど全部。
GoogleService-Info.plist
をUnityフォルダにコピーどこでもいいって書いてあったので
Assets/Plugins/iOS/Firebase/
に入れた。
google-services.json
をUnityフォルダにコピーどこでもいいって書いてあったので
Assets/Plugins/Android/Firebase/
に入れた。
え、これだけ・・・
プッシュしてUnityCloudBuildの結果待ち。
ビルドエラー
101: [Unity] Assets/PlayServicesResolver/Editor/AdMobDependencies.cs(14,9): error CS0433: The imported type `Google.JarResolver.PlayServicesSupport' is defined multiple times 102: [Unity] /BUILD_PATH/rirunaichi.sun-human.debug-for-release-ios/Assets/PlayServicesResolver/Editor/Google.JarResolver.dll (Location of the symbol related to previous error) 103: [Unity] /BUILD_PATH/rirunaichi.sun-human.debug-for-release-ios/Assets/PlayServicesResolver/Editor/JarResolverLib.dll (Location of the symbol related to previous error)
JarResolverが2つあるとな。
たぶんもともとAdMob入れてたしやろなぁ。
たしかに2つある。
コミット履歴を見る限りAdMobのと競合で間違いなさそうだ・・・
安直に片方消してみる。さよなら JarResolverLib
ってなんか Install Android SDK Package
ってのが動き出した 。いつからいた???
うおー怖い。
ビルド壊れる予感がプンプンするぜ。
Gitに身を委ねて全部OK、OK、、、
再度プッシュしてUnityCloudBuildの結果待ち。
結果
Android
ビルドは通った。
けど実機で実行するとアイコン押した瞬間に落ちる。
エラー内容
11-28 01:35:18.705: E/AndroidRuntime(6561): java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzaa; or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa' appears in /data/app/com.rircreate.sunhuman-2/base.apk) 11-28 01:35:18.705: E/AndroidRuntime(6561): at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source) 11-28 01:35:18.705: E/AndroidRuntime(6561): at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread.installProvider(ActivityThread.java:5811) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread.installContentProviders(ActivityThread.java:5403) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread.-wrap2(ActivityThread.java) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1528) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.os.Handler.dispatchMessage(Handler.java:102) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.os.Looper.loop(Looper.java:154) 11-28 01:35:18.705: E/AndroidRuntime(6561): at android.app.ActivityThread.main(ActivityThread.java:6077) 11-28 01:35:18.705: E/AndroidRuntime(6561): at java.lang.reflect.Method.invoke(Native Method) 11-28 01:35:18.705: E/AndroidRuntime(6561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 11-28 01:35:18.705: E/AndroidRuntime(6561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
iOS
ビルド通らず。
[Unity] Error running cocoapods. Please ensure you have at least version 1.0.0. You can install cocoapods with the Ruby gem package manager:
cocoapodsがないとかなんとか・・・
ちとこれ以上調べてられないのでロールバックして終了〜
まとめ
いきなり現行プロジェクト(AdMobとかAdfurikunとか入ってる)に突っ込むのは無謀だったかも。
そのうちシンプルなプロジェクトで再挑戦する。