Skip to content
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

Additional "default browser" prompts: variant 3 #5485

Merged

Conversation

LukasPaczos
Copy link
Contributor

Task/Issue URL: https://app.asana.com/0/72649045549333/1208944504536349/f

Description

Builds on top of #5476 and adds variant 3.

Steps to test this PR

This PR relies on the new A/B/N framework for rollout, so to test you'll need a custom privacy config which includes the feature definition, for example:

"defaultBrowserPrompts": {
  "state": "enabled",
  "exceptions": [],
  "features": {
    "additionalPrompts": {
      "state": "enabled",
      "rollout": {
        "steps": [
          {
            "percent": 100
          }
        ]
      },
      "settings": {
        "activeDaysUntilStage1": 1,
        "activeDaysUntilStage2": 3,
        "activeDaysUntilStop": 5
      },
      "cohorts": [
        {
          "name": "control",
          "weight": 0
        },
        {
          "name": "variant_1",
          "weight": 0
        },
        {
          "name": "variant_2",
          "weight": 0
        },
        {
          "name": "variant_3",
          "weight": 1
        }
      ]
    }
  },
}

or you can apply this JSON Blob:

diff --git a/privacy-config/privacy-config-api/src/main/java/com/duckduckgo/privacy/config/api/PrivacyFeatureName.kt b/privacy-config/privacy-config-api/src/main/java/com/duckduckgo/privacy/config/api/PrivacyFeatureName.kt
index ca0870311..5a904f76b 100644
--- a/privacy-config/privacy-config-api/src/main/java/com/duckduckgo/privacy/config/api/PrivacyFeatureName.kt
+++ b/privacy-config/privacy-config-api/src/main/java/com/duckduckgo/privacy/config/api/PrivacyFeatureName.kt
@@ -27,4 +27,5 @@ enum class PrivacyFeatureName(val value: String) {
     TrackingParametersFeatureName("trackingParameters"),
 }
 
-const val PRIVACY_REMOTE_CONFIG_URL = "https://staticcdn.duckduckgo.com/trackerblocking/config/v4/android-config.json"
+// const val PRIVACY_REMOTE_CONFIG_URL = "https://staticcdn.duckduckgo.com/trackerblocking/config/v4/android-config.json"
+const val PRIVACY_REMOTE_CONFIG_URL = "https://www.jsonblob.com/api/1329809981419216896"

Once built with the right config, ensure that you don't have DDG app set as a default browser, only then you'll be assigned to the experiment.

Given the example config above:

  • after one active day you'll see a dialog pop up, a highlighted menu icon, and a new menu button
  • after additional 2 active days you'll see another dialog pop up, and a refreshed highlight on the menu icon
  • after additional 2 days, the menu button will disappear

If you convert at any point and set DDG app as default browser, the experiment will permanently stop.

Screen_recording_20250117_150401.webm

In the video I'm using the ADB commands to change the date, but any mechanism of date change will be enough :)

@LukasPaczos LukasPaczos requested a review from malmstein January 17, 2025 14:06
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-2 branch from 042d38e to baed26a Compare January 20, 2025 12:10
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from 453bdc1 to b7c07b1 Compare January 20, 2025 12:15
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-2 branch from baed26a to 916a745 Compare January 22, 2025 12:25
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from b7c07b1 to 2278f19 Compare January 22, 2025 12:26
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-2 branch from 916a745 to 4a97b9f Compare January 22, 2025 12:49
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from 2278f19 to 86ed22c Compare January 22, 2025 12:50
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-2 branch from 4a97b9f to 6c7a3cd Compare January 23, 2025 13:19
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from 86ed22c to 29f2f2e Compare January 23, 2025 13:20
Copy link
Contributor

@malmstein malmstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-2 branch 3 times, most recently from 1397fda to cc2c9a8 Compare January 31, 2025 12:59
Base automatically changed from feature/lukasz-p/default-browser-prompts-variant-2 to develop January 31, 2025 13:32
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from 29f2f2e to 048a6f1 Compare January 31, 2025 13:37
@LukasPaczos LukasPaczos force-pushed the feature/lukasz-p/default-browser-prompts-variant-3 branch from 048a6f1 to 9acbe85 Compare January 31, 2025 14:20
@LukasPaczos LukasPaczos merged commit 13abab2 into develop Jan 31, 2025
5 checks passed
@LukasPaczos LukasPaczos deleted the feature/lukasz-p/default-browser-prompts-variant-3 branch January 31, 2025 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants