-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add CTA experiments #675
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CTA experiments #675
Conversation
# Conflicts: # app/src/androidTest/java/com/duckduckgo/app/cta/ui/CtaViewModelTest.kt
marcosholgado
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job! Really liked the way you managed the different variants/features and very good addition only sending the v pixel when the fragment is actually visible. On that front I left a comment but it doesn't block the PR. Nice one!
| super.onAttach(context) | ||
| } | ||
|
|
||
| override fun setUserVisibleHint(isVisibleToUser: Boolean) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are still not using the latest version of fragment-ktx but this method has been deprecated in 1.1.0 (https://developer.android.com/jetpack/androidx/releases/fragment). Probably not something for this PR but maybe create a LHF task?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea, internal task created here https://app.asana.com/0/414730916066338/1158589410650834
| @Test | ||
| fun whenRefreshCtaOnNewTabThenReturnDaxIntroCta() = runBlockingTest { | ||
| setConceptTestVariant() | ||
| fun whenRefreshCtaOnNewTabAndConceptTestFeatureActiveThenReturnDaxIntroCta() = runBlockingTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @subsymbolic, #673 gave you some conflicts here. Happy to help you in solving this later today.
I will still put some context here:
- we renamed/mapped
isNewTabtoisBrowserShowingto show a better intention inside ourctaViewModel.refreshCta.
isNewTab = falseequalsisBrowserShowing = true
isNewTab = trueequalsisBrowserShowing = false - testcases names have been affected by the change too:
whenRefreshCtaOnNewTab->whenRefreshCtaOnHomeTab
whenRefreshCtaOnExistingTab->whenRefreshCtaWhileBrowsing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
# Conflicts: # app/src/androidTest/java/com/duckduckgo/app/cta/ui/CtaViewModelTest.kt
|
Thanks for the review @marcosholgado |
Task/Issue URL: https://app.asana.com/0/361428290920652/1158110040574203
Tech Design URL: N/A
Description:
Adds CTA retention experiments to help up determine effectiveness of CTAa
Steps to test this PR:
Check CTAs are shown for control:
mqcontrolm_odb_vpixel has NOT fired yetContinueMake DuckDuckGo Your Defaultonboarding is shown and them_odb_vpixel now firesMaybe laterto get to the home screenCheck that only widget CTA is shown on high end device and triggers correct pixels when default browser CTA feature is suppressed:
mrStart Browsingm_wc_spixel firesAdd Widgetand ensure them_wc_lpixel firesAdd Automaticallyand ensure the CTA is gone--
Dismissat step 4m_wc_dpixel firesCheck that only widget CTA is shown on low end device and triggers correct pixels when default browser CTA feature is suppressed:
mrStart Browsingm_wlc_spixel firesShow Meand ensure them_wlc_lpixel firesGo to home screenand add the widget to the home screen--
Dismissat step 4m_wlc_dpixel firesCheck only default browser CTA shown when widget CTA feature suppressed:
msm_odb_vpixel has NOT fired yetContinueMake DuckDuckGo your defaultonboarding is shown and them_odb_vpixel now firesMaybe laterto get to the home screenCheck that no CTA shown when they are suppressed:
mtStart BrowsingInternal references:
Software Engineering Expectations
Technical Design Template