[Bare] expo-ads-admob is using Google-Mobile-Ads-SDK (= 7.69.0) which conflicts with @react-native-firebase/analytics
See original GitHub issueSummary
With bare app, when running pod install , it generates the following error :
[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
In Podfile:
EXAdsAdMob (from `../node_modules/expo-ads-admob/ios`) was resolved to 10.0.4, which depends on
Google-Mobile-Ads-SDK (= 7.69.0) was resolved to 7.69.0, which depends on
GoogleAppMeasurement (~> 7.0)
RNFBAnalytics (from `../node_modules/@react-native-firebase/analytics`) was resolved to 12.0.0, which depends on
Firebase/Analytics (= 8.0.0) was resolved to 8.0.0, which depends on
Firebase/Core (= 8.0.0) was resolved to 8.0.0, which depends on
FirebaseAnalytics (~> 8.0.0) was resolved to 8.0.0, which depends on
FirebaseAnalytics/AdIdSupport (= 8.0.0) was resolved to 8.0.0, which depends on
GoogleAppMeasurement (= 8.0.0)
Currently trying to find which version of FirebaseAnalytics/AdIdSupport would still use GoogleAppMeasurement (~> 7.0), but it seems to be easier to try to fix expo-ads-mob.
This issue blocks the publication process of the app on the store.
Would it be possible to update dependencies on Google-Mobile-Ads-SDK (as it was already done with https://github.com/expo/expo/issues/11941) : 8.6.0 will have GoogleAppMeasurement (8.0) dependency.
I’ve changed “7.69.0” in node_modules/expo-ads-mob/ios/ExAdsAdMob.podspec by “8.6.0”
s.dependency 'Google-Mobile-Ads-SDK', "8.6.0"
And now pod install
works fine.
....
Installing EXAdsAdMob (10.0.4)
....
Installing GoogleAppMeasurement (8.0.0)
....
Pod installation complete! There are 76 dependencies from the Podfile and 88 total pods installed.
But file such as EXAdsAdMobInterstitial.m
must be modified too, unfortunately this is outside my knowledge :
@implementation EXAdsAdMobInterstitial {
GADInterstitial *_interstitial; ------> Unknown type name 'GADInterstitial'; did you mean 'GADInterstitialAd'?
in EXAdsAdMobInterstitial.h
#import <GoogleMobileAds/GoogleMobileAds.h>
@interface EXAdsAdMobInterstitial : UMExportedModule <UMEventEmitter, UMModuleRegistryConsumer, GADInterstitialDelegate>. --->> Cannot find protocol declaration for 'GADInterstitialDelegate'
Managed or bare workflow? If you have ios/
or android/
directories in your project, the answer is bare!
bare
What platform(s) does this occur on?
iOS
SDK Version (managed workflow only)
41
Environment
Expo CLI 4.5.2 environment info:
System:
OS: macOS 11.3.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 12.22.1 - /usr/local/bin/node
Yarn: 1.22.5 - /usr/local/bin/yarn
npm: 6.14.12 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 23, 25, 26, 27, 28, 29
Build Tools: 28.0.3, 29.0.2, 30.0.2
System Images: android-25 | Google Play Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom
IDEs:
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
npmPackages:
expo: ^41.0.1 => 41.0.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: ~0.63.4 => 0.63.4
react-native-web: ^0.16.3 => 0.16.3
npmGlobalPackages:
expo-cli: 4.4.7
Expo Workflow: bare
Reproducible demo or steps to reproduce from a blank project
this in not code related juste the package.json :
"expo": "^41.0.1",
"expo-ads-admob": "~10.0.4",
"@react-native-firebase/analytics": "^12.0.0",
"@react-native-firebase/app": "^12.0.0",
"@react-native-firebase/messaging": "^12.0.0",
Issue Analytics
- State:
- Created 2 years ago
- Reactions:2
- Comments:10 (5 by maintainers)
Top GitHub Comments
That issue isn’t very clear to me, looks like just an improper use of the API (passing in the wrong # of args)
We can try to prioritize this for our next release
+1
this is blocking usage of expo-ads-admob with the latest Firebase at the moment