In the process of updating to Mobile Trackers 6.0.0. Noticing the new “screen_end” events firing just before “screen_view” events however, the screen context is updating to the next screen name. Should the screen name on the “screen_end” event reflect the previous scfreen?
Hi @ks107, thank you for reporting this! That is definitely unexpected behaviour – the name in the screen entity on the screen_end event should match the screen view name before it.
I have been trying to reproduce this, but haven’t been successful yet. Could you please let me know a few more details:
do you see this on iOS or Android or both?
could you share your tracker configuration (how you intialize the tracker)?
The new screen engagement tracking is not affected by whether auto screen view tracking is enabled. It should work the same way also when you track screen views manually.
However, it is affected by lifecycle autotracking. If you don’t have lifecycle autotracking enabled, the tracker won’t be able to distinguish between the app being in foreground or background. Thus it will also count time in background into the foreground_sec time in the screen_summary entity.
Lifecycle autotracking is now enabled by default in the v6 mobile trackers.
Currently seeing this on Android. Tested two different apps. One where lifecycle is enabled and one where it’s not. I can see the difference in the foreground background numbers that you mentioned, good for us to note.
But the screen name is reflecting that of the next screen in both on the “screen_end” event. The “screen_view” for the next screen and the “screen_end” for the previous screen seem to happen at exactly the same time (down to the thousandth of the millisecond) so not sure if the “screen_view” for the next screen is coming slightly before the and the “screen_end” is picking that up?
Tracker configs for both below:
val trackerConfig: TrackerConfiguration = TrackerConfiguration(name)
.lifecycleAutotracking(false)
.screenViewAutotracking(false)
.installAutotracking(false)
.exceptionAutotracking(false)
val trackerConfig = TrackerConfiguration(name)
.screenViewAutotracking(false)
.lifecycleAutotracking(true)
.installAutotracking(true)
.exceptionAutotracking(true)
.diagnosticAutotracking(false)