Googleads-mobile-unity: Can't build iOS with Firebase 6.16.1 and Admob 5.4

Created on 16 Nov 2020  路  17Comments  路  Source: googleads/googleads-mobile-unity


I'm getting this error on build an iOS app:

[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement": In Podfile: Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on GoogleAppMeasurement (= 6.8.2)

Google-Mobile-Ads-SDK (~> 7.68) was resolved to 7.68.0, which depends on GoogleAppMeasurement (~> 7.0)

  • AdMob v5.4.0
  • Firebase v6.16.1 (Analytics)
  • Target minimum iOS Version 10.0
  • Unity 2018.4.29f1 LTS

I've tried to run pod repo update and pod update but got the same error.
What else can I try?

Most helpful comment

I resolved it.
downgrade Google-Mobile-Ads-SDK version 7.68 -> 7.67

All 17 comments

I resolved it.
downgrade Google-Mobile-Ads-SDK version 7.68 -> 7.67

Same issue here but I'm not actually getting the cocoapods error.
It's silent until I run it manually.

In a fresh, blank project, Catalina, XCode 12.whatever, Unity 2019.4, I can't build the AdMob 5.4.0 package.
Due to the cocoapods error there's no xcworkspace file generated and "'GoogleMobileAds/GoogleMobileAds.h' file not found" as a result.

This is really not resolved.

Thanks for the report, looking into this. As @araimple suggested for now best option is to edit dependencies xml or generated Podfile to use iOS 7.67.

After checking Firebase iOS cocoapod it seems that updating to the latest version of that (7.1.0) would resolve the conflict. I would recommend asking the Firebase team to do a Unity update.

Thanks @araimple

Just upgraded AdMob yesterday and got the same build error.

Looks like AdMob iOS 7.67.0 uses GoogleAppMeasurement ~> 6.0, which is compatible with version 6.8.2 used by Firebase Unity SDK 6.16.1. I just manually updated GoogleMobileAdsDependencies.xml. Will report back if I see any other issues.

Having the same problem. Using Unity 2019.4.9f1, Admob 5.4.0 and using latest versions of Firebase from Package Manager v6.16.1. I've tried setting the Admob iOS pod version in GoogleMobileAdsDependencies.xml to 7.67 but still get this error when trying to build an iOS project. Any suggestions or will I just have to wait until Firebase updates also before I can use 5.4.0?

Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
  In Podfile:
    Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on
      Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on
        FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on
          GoogleAppMeasurement (= 6.8.2)

    GoogleMobileAdsMediationUnity (= 3.5.0.0) was resolved to 3.5.0.0, which depends on
      Google-Mobile-Ads-SDK (>= 7.68.0) was resolved to 7.68.0, which depends on
        GoogleAppMeasurement (~> 7.0)

My GoogleMobileAdsDependencies.xml looks like this:

<iosPods>
    <iosPod name="Google-Mobile-Ads-SDK" version="~> 7.67">
      <sources>
        <source>https://github.com/CocoaPods/Specs</source>
      </sources>
    </iosPod>
  </iosPods>

After checking Firebase iOS cocoapod it seems that updating to the latest version of that (7.1.0) would resolve the conflict. I would recommend asking the Firebase team to do a Unity update.

I don't wish to be rude, but you are two teams working for the same company, working on plugins which are meant to be used together. Asking the end user to coordinate things because there's a general lack of direction or oversight (essentially invalidating the work of the EDM4U/Resolver team) is bad form.

Having the same problem. Using Unity 2019.4.9f1, Admob 5.4.0 and using latest versions of Firebase from Package Manager v6.16.1. I've tried setting the Admob iOS pod version in GoogleMobileAdsDependencies.xml to 7.67 but still get this error when trying to build an iOS project. Any suggestions or will I just have to wait until Firebase updates also before I can use 5.4.0?

Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
  In Podfile:
    Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on
      Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on
        FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on
          GoogleAppMeasurement (= 6.8.2)

    GoogleMobileAdsMediationUnity (= 3.5.0.0) was resolved to 3.5.0.0, which depends on
      Google-Mobile-Ads-SDK (>= 7.68.0) was resolved to 7.68.0, which depends on
        GoogleAppMeasurement (~> 7.0)

My GoogleMobileAdsDependencies.xml looks like this:

<iosPods>
    <iosPod name="Google-Mobile-Ads-SDK" version="~> 7.67">
      <sources>
        <source>https://github.com/CocoaPods/Specs</source>
      </sources>
    </iosPod>
  </iosPods>

try to downgrade GoogleMobileAdsMediationUnity pod from 3.5.0.0 to 3.4.8.0

try to downgrade GoogleMobileAdsMediationUnity pod from 3.5.0.0 to 3.4.8.0

Thanks @adlercoder, downgrading GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 got my project compiling again.

Can someone please give specific instructions on how to downgrade GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 ? I'm not familiar with any of this pod stuff and was hoping that Google would test their crap before they release it, especially as the conflict is with two Google SDKs but I guess that's too much to ask. Cheers!

Can someone please give specific instructions on how to downgrade GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 ? I'm not familiar with any of this pod stuff and was hoping that Google would test their crap before they release it, especially as the conflict is with two Google SDKs but I guess that's too much to ask. Cheers!

If you're using the Unity Package Manager versions (E.g. with the resolver/EDM4U) remove those, then reimport the old fashioned way via the .unitypackage files. (or restore from an older backup).
Be careful though; if you have 2 copies of something (e.g. one package manager version and one .unitypackage version - including the actual resolver) you'll have some crazy issues
So just in general... back up, and back up before touching anything with Firebase/Admob/Resolver. They break things frequently and generally don't work well together.

After checking Firebase iOS cocoapod it seems that updating to the latest version of that (7.1.0) would resolve the conflict. I would recommend asking the Firebase team to do a Unity update.

I don't wish to be rude, but you are two teams working for the same company, working on plugins which are meant to be used together. Asking the end user to coordinate things because there's a general lack of direction or oversight (essentially invalidating the work of the EDM4U/Resolver team) is bad form.

@JonathanDotCel fair point, I have contacted Firebase regarding updating their plugin. If you were to contact them the internal bug is 174508900. I think this issue occurred due to a major version bump in App Measurement (to 7.0) hence the new conflict. Hopefully we can resolve this with a new Firebase release asap.

Regarding package manager, we are planning to publish the Mobile Ads package using package manager soon (this quarter). I hope to follow that with package manager support for the mediation packages shortly after (probably Q1 2021). Hopefully this will make version management between Mobile Ads and Firebase a little easier.

Can someone please give specific instructions on how to downgrade GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 ? I'm not familiar with any of this pod stuff and was hoping that Google would test their crap before they release it, especially as the conflict is with two Google SDKs but I guess that's too much to ask. Cheers!

If you look in your Assets->GoogleMobileAds->Editor folder you will see several advert dependency .xml files (depending on how many providers you mediate) which specify the iOS pod versions and Android library versions. The two files you're looking for are GoogleMobileAdsDependencies.xml and change its iOS version 7.67 and UnityMediationDependencies.xml and change its iOS version to 3.4.8

Can someone please give specific instructions on how to downgrade GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 ? I'm not familiar with any of this pod stuff and was hoping that Google would test their crap before they release it, especially as the conflict is with two Google SDKs but I guess that's too much to ask. Cheers!

If you look in your Assets->GoogleMobileAds->Editor folder you will see several advert dependency .xml files (depending on how many providers you mediate) which specify the iOS pod versions and Android library versions. The two files you're looking for are GoogleMobileAdsDependencies.xml and change its iOS version 7.67 and UnityMediationDependencies.xml and change its iOS version to 3.4.8

Is this safe enough?
E.g. you may be using newer versions of the C# code with slightly older native libraries?

After checking Firebase iOS cocoapod it seems that updating to the latest version of that (7.1.0) would resolve the conflict. I would recommend asking the Firebase team to do a Unity update.

I don't wish to be rude, but you are two teams working for the same company, working on plugins which are meant to be used together. Asking the end user to coordinate things because there's a general lack of direction or oversight (essentially invalidating the work of the EDM4U/Resolver team) is bad form.

@JonathanDotCel fair point, I have contacted Firebase regarding updating their plugin. If you were to contact them the internal bug is 174508900. I think this issue occurred due to a major version bump in App Measurement (to 7.0) hence the new conflict. Hopefully we can resolve this with a new Firebase release asap.

Regarding package manager, we are planning to publish the Mobile Ads package using package manager soon (this quarter). I hope to follow that with package manager support for the mediation packages shortly after (probably Q1 2021). Hopefully this will make version management between Mobile Ads and Firebase a little easier.

Thanks :)

Can someone please give specific instructions on how to downgrade GoogleMobileAdsMediationUnity pod to 3.4.8 as well as Google-Mobile-Ads-SDK to 7.67 ? I'm not familiar with any of this pod stuff and was hoping that Google would test their crap before they release it, especially as the conflict is with two Google SDKs but I guess that's too much to ask. Cheers!

If you look in your Assets->GoogleMobileAds->Editor folder you will see several advert dependency .xml files (depending on how many providers you mediate) which specify the iOS pod versions and Android library versions. The two files you're looking for are GoogleMobileAdsDependencies.xml and change its iOS version 7.67 and UnityMediationDependencies.xml and change its iOS version to 3.4.8

This works for me. Thanks!

It's annoying that two Google teams didn't coordinate well on this :)) Hope they will be more careful, and hope to see AdMob supports UPM soon too. Cheers.

@JonathanDotCel @p0w1nd @Spud6703 you can now update Firebase to version 7.0.0 which should resolve this conflict.

Was this page helpful?
0 / 5 - 0 ratings