Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Manual screen tracking not working in Firebase (iOS)

I'm trying to disable the manual screen tracking in Firebase, replacing it with my own implementation of screen tracking.

With the automatic screen tracking, every event I send to firebase has two extra params: firebase_screen_class and firebase_screen_id with the value of the last ViewController presented in the app

So I modified the app's Info.plist file with :

FirebaseScreenReportingEnabled = NO

And I started calling the function when the screen of the app gets changed:

Analytics.setScreenName(screenName, screenClass: screenName)

The result after this change is that the DebugView of Firebase no longer registers screen_view events and no extra info (firebase_screen_class and firebase_screen_id) is attached to later events.

What do am I missing?

Edit: Those are the Google related pods in the podfile.lock

  - Firebase/AdMob (4.2.0):
    - Firebase/Core
    - Google-Mobile-Ads-SDK (= 7.24.0)
  - Firebase/Core (4.2.0):
    - FirebaseAnalytics (= 4.0.3)
    - FirebaseCore (= 4.0.7)
  - Firebase/RemoteConfig (4.2.0):
    - Firebase/Core
    - FirebaseRemoteConfig (= 2.0.3)
  - FirebaseAnalytics (4.0.3):
    - FirebaseCore (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - nanopb (~> 0.3)
  - FirebaseCore (4.0.7):
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - nanopb (~> 0.3)
  - FirebaseInstanceID (2.0.3)
  - FirebaseRemoteConfig (2.0.3):
    - FirebaseAnalytics (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - GoogleToolboxForMac/NSData+zlib (~> 2.1)
    - Protobuf (~> 3.1)
  - Google-Mobile-Ads-SDK (7.24.0)
  - GoogleAnalytics (3.17.0)
  - GoogleSignIn (4.1.0):
    - GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)
    - GoogleToolboxForMac/NSString+URLArguments (~> 2.1)
    - GTMOAuth2 (~> 1.0)
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleToolboxForMac/DebugUtils (2.1.1):
    - GoogleToolboxForMac/Defines (= 2.1.1)
  - GoogleToolboxForMac/Defines (2.1.1)
  - GoogleToolboxForMac/NSData+zlib (2.1.1):
    - GoogleToolboxForMac/Defines (= 2.1.1)
  - GoogleToolboxForMac/NSDictionary+URLArguments (2.1.1):
    - GoogleToolboxForMac/DebugUtils (= 2.1.1)
    - GoogleToolboxForMac/Defines (= 2.1.1)
    - GoogleToolboxForMac/NSString+URLArguments (= 2.1.1)
  - GoogleToolboxForMac/NSString+URLArguments (2.1.1)
  - GTMOAuth2 (1.1.5):
    - GTMSessionFetcher (~> 1.1)
  - GTMSessionFetcher (1.1.12):
    - GTMSessionFetcher/Full (= 1.1.12)
  - GTMSessionFetcher/Core (1.1.12)
  - GTMSessionFetcher/Full (1.1.12):
    - GTMSessionFetcher/Core (= 1.1.12)
like image 704
Addev Avatar asked Oct 28 '25 08:10

Addev


1 Answers

I got the answer from Firebase that On iOS, they support automatic + manual screen reporting or no screen reporting at all. Google Analytics for Firebase does NOT support the case of manual-only screen reporting. The plist flag FirebaseAutomaticScreenReportingEnabled has been renamed to FirebaseScreenReportingEnabled to reduce that confusion. Note that the value must be a Boolean and not a String. If it doesn't work as you expected, you can disable screen reporting completely by adding to Info.plist the flag FirebaseScreenReportingEnabled with Boolean value of NO.

like image 93
adbitx Avatar answered Oct 31 '25 00:10

adbitx



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!