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

Open
wants to merge 1 commit into
base: feature/lukasz-p/default-browser-prompts-variant-2
Choose a base branch
from

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
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.

1 participant