Skip to content

Commit

Permalink
privacy pro pixels
Browse files Browse the repository at this point in the history
  • Loading branch information
LukasPaczos committed Feb 27, 2025
1 parent 29ecd3a commit 55278d4
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import com.duckduckgo.app.statistics.pixels.Pixel.PixelType.Daily
import com.duckduckgo.app.statistics.pixels.Pixel.PixelType.Unique

enum class SubscriptionPixel(
private val baseName: String,
val baseName: String,
private val types: Set<PixelType>,
private val withSuffix: Boolean = true,
) {
Expand Down Expand Up @@ -127,6 +127,10 @@ enum class SubscriptionPixel(
baseName = "m_privacy-pro_app-settings_identity-theft-restoration_click",
type = Count,
),
APP_SETTINGS_GET_SUBSCRIPTION_CLICK(
baseName = "m_privacy-pro_app-settings_get_click",
type = Count,
),
APP_SETTINGS_RESTORE_PURCHASE_CLICK(
baseName = "m_privacy-pro_app-settings_restore-purchase_click",
type = Count,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.duckduckgo.subscriptions.impl.pixels
import com.duckduckgo.common.utils.plugins.pixel.PixelParamRemovalPlugin
import com.duckduckgo.common.utils.plugins.pixel.PixelParamRemovalPlugin.PixelParameter
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.APP_SETTINGS_GET_SUBSCRIPTION_CLICK
import com.squareup.anvil.annotations.ContributesMultibinding
import javax.inject.Inject

Expand All @@ -29,6 +30,7 @@ class SubscriptionPixelParamRemovalPlugin @Inject constructor() : PixelParamRemo
"m_subscribe" to PixelParameter.removeAtb(),
"m_subscribe" to PixelParameter.removeOSVersion(),
"m_ppro_feedback" to PixelParameter.removeAtb(),
APP_SETTINGS_GET_SUBSCRIPTION_CLICK.baseName to PixelParameter.removeAtb(),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import com.duckduckgo.common.utils.extensions.toSanitizedLanguageTag
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.ACTIVATE_SUBSCRIPTION_ENTER_EMAIL_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.ACTIVATE_SUBSCRIPTION_RESTORE_PURCHASE_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.APP_SETTINGS_GET_SUBSCRIPTION_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.APP_SETTINGS_IDTR_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.APP_SETTINGS_PIR_CLICK
import com.duckduckgo.subscriptions.impl.pixels.SubscriptionPixel.APP_SETTINGS_RESTORE_PURCHASE_CLICK
Expand Down Expand Up @@ -90,6 +91,7 @@ interface SubscriptionPixelSender {
fun reportSubscriptionSettingsShown()
fun reportAppSettingsPirClick()
fun reportAppSettingsIdtrClick()
fun reportAppSettingsGetSubscriptionClick()
fun reportAppSettingsRestorePurchaseClick()
fun reportSubscriptionSettingsChangePlanOrBillingClick()
fun reportSubscriptionSettingsRemoveFromDeviceClick()
Expand Down Expand Up @@ -196,6 +198,9 @@ class SubscriptionPixelSenderImpl @Inject constructor(
override fun reportAppSettingsIdtrClick() =
fire(APP_SETTINGS_IDTR_CLICK)

override fun reportAppSettingsGetSubscriptionClick() =
fire(APP_SETTINGS_GET_SUBSCRIPTION_CLICK)

override fun reportAppSettingsRestorePurchaseClick() =
fire(APP_SETTINGS_RESTORE_PURCHASE_CLICK)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ class LegacyProSettingViewModel @Inject constructor(
}

fun onBuy() {
pixelSender.reportAppSettingsGetSubscriptionClick()
sendCommand(OpenBuyScreen)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ class ProSettingViewModel @Inject constructor(
}

fun onBuy() {
pixelSender.reportAppSettingsGetSubscriptionClick()
sendCommand(OpenBuyScreen)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class LegacyProSettingViewModelTest {
viewModel.commands().test {
viewModel.onBuy()
assertTrue(awaitItem() is OpenBuyScreen)
verify(pixelSender).reportAppSettingsGetSubscriptionClick()
cancelAndConsumeRemainingEvents()
}
}
Expand All @@ -55,6 +56,7 @@ class LegacyProSettingViewModelTest {
viewModel.commands().test {
viewModel.onRestore()
assertTrue(awaitItem() is OpenRestoreScreen)
verify(pixelSender).reportAppSettingsRestorePurchaseClick()
cancelAndConsumeRemainingEvents()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class ProSettingViewModelTest {
viewModel.commands().test {
viewModel.onBuy()
assertTrue(awaitItem() is OpenBuyScreen)
verify(pixelSender).reportAppSettingsGetSubscriptionClick()
cancelAndConsumeRemainingEvents()
}
}
Expand All @@ -55,6 +56,7 @@ class ProSettingViewModelTest {
viewModel.commands().test {
viewModel.onRestore()
assertTrue(awaitItem() is OpenRestoreScreen)
verify(pixelSender).reportAppSettingsRestorePurchaseClick()
cancelAndConsumeRemainingEvents()
}
}
Expand Down

0 comments on commit 55278d4

Please sign in to comment.