In our app we are tracking screen views manually by adding relevant codes in viewWillAppear
functions. With iOS 13, with the non fullscreen modals, the viewWillAppear
of the parent screen won't get called when the modal is dismissed and hence wrong screen names are reported there after, for events originating from the parent screen.
I have checked the Detecting sheet was dismissed on iOS 13 , but the solution to implement UIAdaptivePresentationControllerDelegate
helps when you manually swipes down.
I then turned off manual tracking and turned on Automatic tracking and surprisingly the screen classes are determined right. Question is how Firebase is figuring that out?
Of-course I can't use auto tracking as we need custom screen names. I believe this could be a generic issue for whoever using manual screen name tracking and have non full screen modals. Just wanted to check what's the best way to solve this. Couple of ideas I had was
- Make all modals full screen. Not nice for our app
- Implement extra delegates in those modals to let the parent know its dismissed. Not sure its a nice way
- Setting screen names on each event? Could that be even possible?
If there are any other nicer/ cleaner option let me know.