New screen_end event

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?

Example journey: home screen > product screen

event: screen_view: screen.name: home screen 12:00pm
event: screen_end: screen.name : product screen 12:01pm (foreground time:60)
event: screen_view: screen.name : product screen 12:01pm

We currently don’t have lifecycle tracking or auto screen tracking enabled. Will these settings affect the new screen events?

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.

Hi @matus thanks for the response.

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)

Thanks @ks107! I was able to reproduce this behaviour on Android (doesn’t happen on iOS). We will get a patch release out ASAP!

The patch is out! Snowplow Android and iOS trackers v6.0.1 released

3 Likes