metamask-mobile
metamask-mobile copied to clipboard
feat: adds "data collection for marketing" toggles
Adds data collection for marketing toggles (and toasts/warnings) on:
- Onboarding
- Toast in Wallet
- Settings page
Description
Related issues
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/2525 https://github.com/MetaMask/MetaMask-planning/issues/2439 https://github.com/MetaMask/MetaMask-planning/issues/2440
Manual testing steps
Onboarding checkbox:
Set isPastPrivacyPolicyDate
to true in OptInMetrics
- Start a new account
- There should be a new checkbox that asks for marketing consent
- Checking it should set the marketing consent to true (check at Settings, Securty tab page)
Security tab:
- Go to Security tab
- When checking the "Data collection for marketing" to
true
, the "Participate in MetaMetrics" toggle should turn totrue
- When checking "Participate in MetaMetrics" to
false
, "Data collection for marketing" should be set tofalse
- When "Participate in Metametrics" is
true
and "Data collection for marketing" istrue
, and the latter is set tofalse
, a warning message should appear.
Toast:
An already onboarded user will have the "dataCollectionForMarketing" value as null
(neither true
or false
). This will trigger the toast.
- By clicking on "I accept", it should set the "Data collection for marketing" to
true
. - By closing the toast or clicking on "No thanks", it should set the "Data collection for marketing" to
false
.
All of these actions should trigger subsequent Segment events.
Screenshots/Recordings
Before
After
https://github.com/MetaMask/metamask-mobile/assets/11148144/d0ebee90-38e1-4362-92ad-73728c82df72
Pre-merge author checklist
- [ ] I’ve followed MetaMask Coding Standards.
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using JSDoc format if applicable
- [ ] I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
Pre-merge reviewer checklist
- [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.