UnityでFirebaseCloudMessaging(FCM)をunitypackageを使ってアップグレードした時に、
下記のようなエラーが出たので解決方法をメモ書き。
appでもmessagingでもanalyticsでも、 firebase-xxx-unity
ならおそらく同じ方法で直ると思われます
エラー
エラーは下記のような感じ
Resolution failed Failed to fetch the following dependencies: com.google.firebase:firebase-app-unity:+ com.google.firebase:firebase-messaging-unity:+ UnityEngine.Debug:LogError (object) Google.Logger:Log (string,Google.LogLevel) (at /Users/drsanta/dev/tmp/unity-jar-resolver/source/VersionHandlerImpl/src/Logger.cs:136) GooglePlayServices.PlayServicesResolver:Log (string,Google.LogLevel) (at /Users/drsanta/dev/tmp/unity-jar-resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1069) ...
Force Resolveした時のログがこちら。
どうやら10.0.1のバージョンが取れていなくて 10.0.1 -> + になってしまってるっぽい
というかそもそも10.0.1だったっけこれ?とも思ったので、確認しつつ直していきます。
解決方法
解決方法は下記の通り。
xxxDependencies.xml をチェックする
Failed to fetch the following dependencies: com.google.firebase:firebase-xxx-unity:+
のエラーで書かれている対象の xxx のプラグインが読めてないので、合致するプラグインをxmlを書き換えて修正していく。
xmlの階層とファイル名は下記の通り。
階層: Assets/Firebase/Editor/ ファイル名: xxxDependencies.xml ※ファイル名のxxxには `firebase-xxx-unity` のxxxのパスカルケースの文字列が入る
今回は下記のプラグインが読めていないので、対応するxmlを探していく。
com.google.firebase:firebase-app-unity:+ →Assets/Firebase/Editor/AppDependencies.xml
com.google.firebase:firebase-messaging-unity:+ →Assets/Firebase/Editor/MessagingDependencies.xml
xmlファイルを確認、m2repositoryのバージョンと照らし合わせて修正
xmlの <androidPackage>
を確認してみたところ、どちらもバージョンが10.0.1と記述されている。
<repository>
にある通り、Assets/Firebase/m2repository に該当のプラグインがあるので、
念のため、m2repository以下の階層にあるプラグインのバージョンを確認する。
10.2.0 なのに xxxDependencies.xml には 10.0.1 と記述されているのが原因で取れていなかったようだったので、
10.2.0に書き換えて、再度Resolveしたら無事に通るようになった。
※本来なら10.2.0に書き変わっているはずだけど、何故か旧ファイルの内容が適用されてしまってて起きてました。