This is caused by a mix of two features: - We introduced the fenix(-beta/nightly) scheme that is used by Leanplum push messages that marketing sends out. They can open URL, but also do other things ([1](https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt#L43-L59), [2](https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt#L72-L102)). - The "app links" feature (on by default) launches third-party apps for links where a third-party app has a registered intent filter (In this case it is Fenix itself). We had a similar issue in Fennec before: https://bugzilla.mozilla.org/show_bug.cgi?id=1380950 This is the patch we landed in Fennec: https://hg.mozilla.org/mozilla-central/rev/ca46fd749dc5 In Fennec we require deep links to contain "&uid={uid}" (the UID of the leanplum user/device). Only if the UID matches the local UID we follow the deeplink. Apparently that was something that was possible to do for the marketing team. I started looking into writing a similar patch for Fenix.. but on first sight it appears like we generate a randomized devide ID for leanplum on *every* app start (need to verify at runtime, maybe I can later ask the marketing team to verify with their data too)? https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt#L81
Bug 1656747 Comment 3 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
This is caused by a mix of two features: - We introduced the fenix(-beta/nightly) scheme that is used by Leanplum push messages that marketing sends out. They can open URL, but also do other things ([1](https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt#L43-L59), [2](https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt#L72-L102)). - The "app links" feature (on by default) launches third-party apps for links where a third-party app has a registered intent filter (In this case it is Fenix itself). We had a similar issue in Fennec before: https://bugzilla.mozilla.org/show_bug.cgi?id=1380950 This is the patch we landed in Fennec: https://hg.mozilla.org/mozilla-central/rev/ca46fd749dc5 In Fennec we require deep links to contain "&uid={uid}" (the UID of the leanplum user/device). Only if the UID matches the local UID we follow the deeplink. Apparently that was something that was possible to do for the marketing team. I started looking into writing a similar patch for Fenix.. but on first sight it appears like we generate a randomized devide ID for leanplum on *every* app start (need to verify at runtime, maybe I can later ask the marketing team to verify with their data too)? https://github.com/mozilla-mobile/fenix/blob/master/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt#L81 Fennec on the other hand seems to only generate a device ID if there's none persisted yet. Otherwise it reuses the existing one: https://searchfox.org/mozilla-esr68/source/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java#110-115