From 3f5d9a3c9ae46efd8e94d028357a4507bb290bc2 Mon Sep 17 00:00:00 2001 From: Alexandru2909 Date: Wed, 8 Feb 2023 16:52:12 +0200 Subject: [PATCH] [fenix] Bug 1815160 - Add sponsored story id to home_recs_spoc_shown and home_recs_spoc_clicked --- mobile/android/fenix/app/metrics.yaml | 12 ++++++++++++ .../org/mozilla/fenix/home/pocket/PocketStoriesController.kt | 2 ++ .../fenix/home/pocket/DefaultPocketStoriesControllerTest.kt | 3 +++ 3 files changed, 17 insertions(+) diff --git a/mobile/android/fenix/app/metrics.yaml b/mobile/android/fenix/app/metrics.yaml index c708d6ff75b6..06e2b1a03b3c 100644 --- a/mobile/android/fenix/app/metrics.yaml +++ b/mobile/android/fenix/app/metrics.yaml @@ -6107,6 +6107,10 @@ pocket: description: | User tapped a Pocket sponsored story to be opened. extra_keys: + spoc_id: + type: string + description: | + Id of the shown sponsored story. times_shown: type: string description: | @@ -6118,7 +6122,9 @@ pocket: Uses the [row x column] matrix notation. bugs: - https://github.com/mozilla-mobile/fenix/issues/25401 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1815160 data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/28796#issuecomment-1422818844 - https://github.com/mozilla-mobile/fenix/pull/25418#issuecomment-1163390855 - https://github.com/mozilla-mobile/fenix/pull/26184#issuecomment-1194744884 data_sensitivity: @@ -6157,6 +6163,10 @@ pocket: A particular Pocket sponsored story was visible more than 50% on the homescreen. extra_keys: + spoc_id: + type: string + description: | + Id of the shown sponsored story. times_shown: type: string description: | @@ -6168,7 +6178,9 @@ pocket: Uses the [row x column] matrix notation. bugs: - https://github.com/mozilla-mobile/fenix/issues/25401 + - https://bugzilla.mozilla.org/show_bug.cgi?id=1815160 data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/28796#issuecomment-1422818844 - https://github.com/mozilla-mobile/fenix/pull/25418#issuecomment-1163390855 - https://github.com/mozilla-mobile/fenix/pull/26184#issuecomment-1194744884 data_sensitivity: diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesController.kt index 7ad295aae673..e877ab455e02 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesController.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesController.kt @@ -85,6 +85,7 @@ internal class DefaultPocketStoriesController( is PocketSponsoredStory -> { Pocket.homeRecsSpocShown.record( Pocket.HomeRecsSpocShownExtra( + spocId = storyShown.id.toString(), position = "${storyPosition.first}x${storyPosition.second}", timesShown = storyShown.getCurrentFlightImpressions().size.inc().toString(), ), @@ -162,6 +163,7 @@ internal class DefaultPocketStoriesController( is PocketSponsoredStory -> { Pocket.homeRecsSpocClicked.record( Pocket.HomeRecsSpocClickedExtra( + spocId = storyClicked.id.toString(), position = "${storyPosition.first}x${storyPosition.second}", timesShown = storyClicked.getCurrentFlightImpressions().size.inc().toString(), ), diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/pocket/DefaultPocketStoriesControllerTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/pocket/DefaultPocketStoriesControllerTest.kt index 30627470ec42..340a40400155 100644 --- a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/pocket/DefaultPocketStoriesControllerTest.kt +++ b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/pocket/DefaultPocketStoriesControllerTest.kt @@ -177,6 +177,7 @@ class DefaultPocketStoriesControllerTest { val storyShown: PocketSponsoredStory = mockk { every { shim.click } returns "testClickShim" every { shim.impression } returns "testImpressionShim" + every { id } returns 123 } var wasPingSent = false mockkStatic("mozilla.components.service.pocket.ext.PocketStoryKt") { @@ -195,6 +196,7 @@ class DefaultPocketStoriesControllerTest { assertNotNull(Pocket.homeRecsSpocShown.testGetValue()) assertEquals(1, Pocket.homeRecsSpocShown.testGetValue()!!.size) val data = Pocket.homeRecsSpocShown.testGetValue()!!.single().extra + assertEquals("123", data?.entries?.first { it.key == "spoc_id" }?.value) assertEquals("1x2", data?.entries?.first { it.key == "position" }?.value) assertEquals("4", data?.entries?.first { it.key == "times_shown" }?.value) assertTrue(wasPingSent) @@ -279,6 +281,7 @@ class DefaultPocketStoriesControllerTest { assertNotNull(Pocket.homeRecsSpocClicked.testGetValue()) assertEquals(1, Pocket.homeRecsSpocClicked.testGetValue()!!.size) val data = Pocket.homeRecsSpocClicked.testGetValue()!!.single().extra + assertEquals("7", data?.entries?.first { it.key == "spoc_id" }?.value) assertEquals("2x3", data?.entries?.first { it.key == "position" }?.value) assertEquals("3", data?.entries?.first { it.key == "times_shown" }?.value) assertTrue(wasPingSent) -- 2.11.4.GIT