firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.46k stars 1.43k forks source link

FirebaseInAppMessaging pod installs FirebaseAnalytics/AdIdSupport #12810

Open danielsefton opened 2 months ago

danielsefton commented 2 months ago

Description

In my podfile I have 'FirebaseAnalytics/WithoutAdIdSupport'

When I add 'FirebaseInAppMessaging' to my podfile then it installs 'FirebaseAnalytics/AdIdSupport'

Here are the dependencies listed in the lock file with 'FirebaseInAppMessaging':

- FirebaseInAppMessaging (0.13.0):
  - FirebaseAnalytics
  - FirebaseAnalyticsInterop
  - FirebaseCore
  - FirebaseInstanceID

I don't see a way to stop it from installing the full FirebaseAnalytics package.

However, when I use 'Firebase/InAppMessaging' (notice the extra /) then it seems to install the pod without the dependency to FirebaseAnalytics:

- FirebaseInAppMessaging (10.24.0-beta):
  - FirebaseABTesting (~> 10.0)
  - FirebaseCore (~> 10.0)
  - FirebaseInstallations (~> 10.0)
  - GoogleUtilities/Environment (~> 7.8)
  - nanopb (< 2.30911.0, >= 2.30908.0)

Looking at the FirebaseInAppMessaging podspec, the above set of dependencies seem to be correct.

I noticed the non-slash package is version 0.13.0 (incorrect), and the slash package is 10.24.0-beta (correct).

In the docs it recommends the pods without the slashes. All is fine with the other packages without the slash, but it seems like I need to make an exception for InAppMessaging:

https://firebase.google.com/docs/ios/setup#available-pods

Firebase SDK Version

10.24.0

Xcode Version

15.3

Installation Method

CocoaPods

Firebase Product(s)

In-App Messaging

Targeted Platforms

iOS

google-oss-bot commented 2 months ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

rizafran commented 2 months ago

Hi @danielsefton, you may try using pod 'FirebaseInAppMessaging', '10.24-beta' to install the latest version of FirebaseInAppMessaging.

paulb777 commented 2 months ago

Or pod 'FirebaseInAppMessaging', '> 10.24-beta' to get the latest version now and in the future.

danielsefton commented 2 months ago

Hi rizafran (and paulb777), thank you for the replies, although, it's not really completed? Surely it should still match the behaviour of the other pods and reliably install the latest version without the need to specify it manually? Anyone who follows the docs will run into the same issue so it should still be fixed imo.

paulb777 commented 2 months ago

Yes, FirebaseInAppMessaging is still in beta and we want users to be aware of that before installing.

Would you let us know where the docs gave the wrong guidance?

danielsefton commented 2 months ago

Ah, I wasn't aware it was in beta. I am fairly new to Firebase and just saw that it was available in the Firebase admin panel, then proceeded to set it up via the docs. I don't see anywhere that it says it's in beta:

Admin panel - no beta reference Guide: https://firebase.google.com/docs/in-app-messaging - no beta reference Available pods: https://firebase.google.com/docs/ios/setup#available-pods - no beta reference

So people will just add the pod and not think twice that it installs an incorrect version (0.13.0) by default, which actually adds the analytics with ad id support, so it creates a potential privacy issue as well.