Search Unity

Firebase and Google Play Game Services Won't Merge in Unity

Discussion in 'Formats & External Tools' started by Narmer, Jun 19, 2018.

  1. Narmer

    Narmer

    Joined:
    Mar 5, 2014
    Posts:
    25
    I added the latest Firebase SDK Messaging package to my project with already well functioning GPGS. First it was possible to build the app with seemingly no issues involved but I found out GPGS stopped functioning giving me exception during initialization.

    Hence I reinstalled it all. I tried to force resolve using Play Services Resolver and ended up with even more fatal problem.

    Resolver gives me this error:

    Code (CSharp):
    1. Resolution failed
    2.  
    3. Failed to fetch the following dependencies:
    4. com.google.android.gms:play-services-ads-identifier:17.0.0
    5. com.google.android.gms:play-services-auth-api-phone-license:17.0.0
    6. com.google.android.gms:play-services-auth-api-phone:17.0.0
    7. com.google.android.gms:play-services-auth-base-license:17.0.0
    8. com.google.android.gms:play-services-auth-base:17.0.0
    9. com.google.android.gms:play-services-auth:17.0.0
    10. com.google.android.gms:play-services-base:17.0.0
    11. com.google.android.gms:play-services-basement:17.0.0
    12. com.google.android.gms:play-services-drive-license:17.0.0
    13. com.google.android.gms:play-services-drive:17.0.0
    14. com.google.android.gms:play-services-games-license:17.0.0
    15. com.google.android.gms:play-services-games:17.0.0
    16. com.google.android.gms:play-services-gcm:17.0.0
    17. com.google.android.gms:play-services-iid:17.0.0
    18. com.google.android.gms:play-services-measurement-base:17.0.0
    19. com.google.android.gms:play-services-nearby-license:17.0.0
    20. com.google.android.gms:play-services-nearby:17.0.0
    21. com.google.android.gms:play-services-stats:17.0.0
    22. com.google.android.gms:play-services-tasks:17.0.0
    23. com.google.firebase:firebase-analytics-impl:17.0.0
    24. com.google.firebase:firebase-analytics:17.0.0
    25. com.google.firebase:firebase-common:17.0.0
    26. com.google.firebase:firebase-core:17.0.0
    27. com.google.firebase:firebase-iid-interop:17.0.0
    28. com.google.firebase:firebase-iid:17.0.0
    29. com.google.firebase:firebase-measurement-connector-impl:17.0.0
    30.  
    31.  
    32. UnityEngine.Debug:LogError(Object)
    33. Google.Logger:Log(String, LogLevel)
    34. GooglePlayServices.PlayServicesResolver:Log(String, LogLevel)
    35. GooglePlayServices.ResolverVer1_1:LogMissingDependenciesError(List`1)
    36. GooglePlayServices.<DoResolutionUnsafe>c__AnonStorey4:<>m__1(List`1)
    37. GooglePlayServices.<GradleResolution>c__AnonStorey0:<>m__0(Result)
    38. GooglePlayServices.<GradleResolution>c__AnonStorey1:<>m__0()
    39. GooglePlayServices.PlayServicesResolver:PumpUpdateQueue()
    40. UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
    and warning

    Code (CSharp):
    1. Some conflicting dependencies were found.
    2. The following dependency versions were modified:
    3. com.google.firebase:firebase-iid-interop:16.0.0 --> com.google.firebase:firebase-iid-interop:17.0.0
    4. com.google.android.gms:play-services-auth-api-phone:11.6.2 --> com.google.android.gms:play-services-auth-api-phone:17.0.0
    5. com.google.firebase:firebase-common:16.0.0 --> com.google.firebase:firebase-common:17.0.0
    6. com.google.android.gms:play-services-basement:15.0.1 --> com.google.android.gms:play-services-basement:17.0.0
    7. com.google.android.gms:play-services-tasks:15.0.1 --> com.google.android.gms:play-services-tasks:17.0.0
    8. com.google.android.gms:play-services-games:11.6.2 --> com.google.android.gms:play-services-games:17.0.0
    9. com.google.firebase:firebase-measurement-connector-impl:16.0.0 --> com.google.firebase:firebase-measurement-connector-impl:17.0.0
    10. com.google.android.gms:play-services-ads-identifier:15.0.1 --> com.google.android.gms:play-services-ads-identifier:17.0.0
    11. com.google.android.gms:play-services-drive-license:11.6.2 --> com.google.android.gms:play-services-drive-license:17.0.0
    12. com.google.firebase:firebase-analytics:16.0.0 --> com.google.firebase:firebase-analytics:17.0.0
    13. com.google.android.gms:play-services-auth-base:11.6.2 --> com.google.android.gms:play-services-auth-base:17.0.0
    14. com.google.firebase:firebase-measurement-connector:16.0.0 --> com.google.firebase:firebase-measurement-connector:17.0.0
    15. com.google.android.gms:play-services-base:15.0.1 --> com.google.android.gms:play-services-base:17.0.0
    16. com.google.android.gms:play-services-auth-base-license:11.6.2 --> com.google.android.gms:play-services-auth-base-license:17.0.0
    17. com.google.android.gms:play-services-nearby-license:11.6.2 --> com.google.android.gms:play-services-nearby-license:17.0.0
    18. com.google.android.gms:play-services-gcm:11.0.4 --> com.google.android.gms:play-services-gcm:17.0.0
    19. com.google.firebase:firebase-core:16.0.0 --> com.google.firebase:firebase-core:17.0.0
    20. com.google.firebase:firebase-iid:16.0.0 --> com.google.firebase:firebase-iid:17.0.0
    21. com.google.android.gms:play-services-nearby:11.6.2 --> com.google.android.gms:play-services-nearby:17.0.0
    22. com.google.android.gms:play-services-games-license:11.6.2 --> com.google.android.gms:play-services-games-license:17.0.0
    23. com.google.android.gms:play-services-measurement-base:15.0.4 --> com.google.android.gms:play-services-measurement-base:17.0.0
    24. com.google.android.gms:play-services-auth-api-phone-license:11.6.2 --> com.google.android.gms:play-services-auth-api-phone-license:17.0.0
    25. com.android.support:exifinterface:26.0.1 --> com.android.support:exifinterface:26.1.0
    26. com.google.android.gms:play-services-iid:11.0.4 --> com.google.android.gms:play-services-iid:17.0.0
    27. com.google.android.gms:play-services-drive:11.6.2 --> com.google.android.gms:play-services-drive:17.0.0
    28. com.google.firebase:firebase-analytics-impl:16.0.0 --> com.google.firebase:firebase-analytics-impl:17.0.0
    29. com.google.android.gms:play-services-auth:11.6.2 --> com.google.android.gms:play-services-auth:17.0.0
    30. com.google.android.gms:play-services-stats:15.0.1 --> com.google.android.gms:play-services-stats:17.0.0
    31.  
    32. UnityEngine.Debug:LogWarning(Object)
    33. Google.Logger:Log(String, LogLevel)
    34. GooglePlayServices.PlayServicesResolver:Log(String, LogLevel)
    35. GooglePlayServices.<GradleResolution>c__AnonStorey0:<>m__0(Result)
    36. GooglePlayServices.<GradleResolution>c__AnonStorey1:<>m__0()
    37. GooglePlayServices.PlayServicesResolver:PumpUpdateQueue()
    38. UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
     
  2. NEVER-SETTLE

    NEVER-SETTLE

    Joined:
    Apr 22, 2018
    Posts:
    30
    Same issue here. I tried updating the Resolver, removing it and adding the one provided by Firebase, and nothing works. This however seems to be a Google issue and not a Unity issue. I wrote the Firebase support and their response was "not my job" style.
     
  3. exzizt

    exzizt

    Joined:
    Sep 30, 2017
    Posts:
    78
    I'm having this issue as well. Snippet of my error:

    08-01 16:59:05.451 14969 14969 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/api/Api$zzf;
    08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.google.android.gms.auth.api.Auth.(Unknown Source)

    My project ran flawlessly (running Firebase Authentication and Database, and GPGS). The moment I tried to install Google AdMob last night, everything broke.
     
  4. NEVER-SETTLE

    NEVER-SETTLE

    Joined:
    Apr 22, 2018
    Posts:
    30
    What worked for me and what was my approach:

    I noticed the Play Service Resolver said that there are conflicting dependencies.
    I searched for Firebase related dependencies in VS and found them in Firebase > Editor > AppDependencies.xml and AnalyticsDependecies.xml.
    I deleted the ones that were both in AppDependencies and in AnalyticsDependencies (deleted them in AnalyticsDependencies only)
    I saved the files, Resolver kicked in and did stuff. I still got the warning of conflicting dependencies but when looking the warning to see which were conflicting the ones that I deleted were not there anymore.
    I ran the game. No error. and I see Firebase messages logged.
     
    neeravblacklight likes this.
  5. neeravblacklight

    neeravblacklight

    Joined:
    Apr 13, 2018
    Posts:
    4
    thanks, the only thing that seemed to work.
     
  6. Amirraza

    Amirraza

    Joined:
    Jul 13, 2018
    Posts:
    17
    i am stuck in strange problem..
    i have admob mediation (tapjoy, vungle and adcolny)
    first i integrate admob and then adcolony all works fine .. but when i try to integrate tapjoy i got a warning in console
    Some conflicting dependencies were found.
    The following dependency versions were modified:
    com.tapjoy:tapjoy-android-sdk:12.0.0 --> com.tapjoy:tapjoy-android-sdk:+
    com.google.android.gms:play-services-ads:15.0.1 --> com.google.android.gms:play-services-ads:+

    UnityEngine.Debug:LogWarning(Object)
    Google.Logger:Log(String, LogLevel)
    GooglePlayServices.PlayServicesResolver:Log(String, LogLevel)
    GooglePlayServices.<GradleResolution>c__AnonStorey14:<>m__24(Result)
    GooglePlayServices.<GradleResolution>c__AnonStorey15:<>m__2D()
    GooglePlayServices.PlayServicesResolver:pumpUpdateQueue()
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()


    and i got a error


    IOException: Sharing violation on path Temp\GoogleAarExplodeCache.xml
    System.IO.File.Delete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:179)
    GooglePlayServices.ResolverVer1_1.SaveAarExplodeCache ()
    GooglePlayServices.ResolverVer1_1.OnBuildSettings ()
    GooglePlayServices.PlayServicesResolver.ResolveUnsafe (System.Action`1 resolutionComplete, Boolean forceResolution)
    GooglePlayServices.PlayServicesResolver+<Resolve>c__AnonStorey11.<>m__1D ()
    GooglePlayServices.PlayServicesResolver.ExecuteNextResolveJob ()
    GooglePlayServices.PlayServicesResolver.Resolve (System.Action resolutionComplete, Boolean forceResolution, System.Action`1 resolutionCompleteWithResult)
    GooglePlayServices.PlayServicesResolver.AutoResolve ()
    UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:183)


    when i build application the apk build successfully but apk crush when i open in a android device
     
  7. Amirraza

    Amirraza

    Joined:
    Jul 13, 2018
    Posts:
    17
    @liortal can you kindly give me a little bit hint so i can deploy it on android
     
  8. garysiu

    garysiu

    Joined:
    Apr 18, 2013
    Posts:
    7
    That i fix this in Unity3D and is work for my project.

    Go to the
    1) Assets>Editor>AppDependencies.cs and AnalyticsDependencies.cs
    2) Assets>GoogleMobileAd>Editor>GoogleMobileAdsDependencies.cs
    And open to edit all "com.google.android.gms:play-services" and com.google.firebase:firebase-xxx to same version But do not change the com.google.firebase:firebase-analytics-unity:version , like:
    In GoogleMobileAdsDependencies.cd
    <androidPackages>
    <androidPackage spec="com.google.android.gms:play-services-ads:15.0.1">
    <androidSdkPackageIds>
    And i all change to com.google.android.gms:play-services remind is all com.google.android.gms:play-xxx :
    <androidPackages>
    <androidPackage spec="com.google.android.gms:play-services-ads:11.8.0">
    <androidSdkPackageIds>
    ......
    And also :
    AppDependencies.cs
    <androidPackages>
    <androidPackage spec="com.google.android.gms:play-services-base:11.8.0">
    <androidSdkPackageIds>
    & com.google.firebase:firebase-common:11.8.0
    But do not change : com.google.firebase:firebase-app-unity:version
    .......
    &
    AnalyticsDependencies.cs
    <androidPackage spec="com.google.firebase:firebase-analytics:11.8.0">
    <androidSdkPackageIds>
    But do not change : com.google.firebase:firebase-analytics-unity:version

    And save all files & go to unity Force Resolve.