From 9ab2d75cbeb0e6c1b3817b36ace9b3a6b8548a46 Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 23 Oct 2025 16:08:47 +0530 Subject: [PATCH 1/2] docs: add readme for how to use surveys.json --- docs/surveys-readme.md | 53 ++++++++++++++++++++++++++++++++++++++++++ docs/surveys.json | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 docs/surveys-readme.md diff --git a/docs/surveys-readme.md b/docs/surveys-readme.md new file mode 100644 index 0000000..29ca13f --- /dev/null +++ b/docs/surveys-readme.md @@ -0,0 +1,53 @@ +# Survey Configuration + +Configuration file for user surveys displayed in Phoenix Code. + +## Survey Types + +- **newUser**: Survey shown once to new users after initial delay +- **powerUser**: Recurring survey shown to active users at regular intervals + +## Configuration Properties + +| Property | Type | Default | Description | +|----------|------|---------|----------------------------------------------------------------------------------| +| `newUser` | string | - | URL for new user survey | +| `powerUser` | string | - | URL for power user survey | +| `newUserTitle` | string/null | null | Custom title for new user survey (null uses translated default) | +| `powerUserTitle` | string/null | null | Custom title for power user survey (null uses translated default) | +| `newUserShowDelayMS` | number | 1200000 | Delay before showing new user survey (20 minutes) | +| `powerUserShowIntervalDays` | number | 35 | Days between power user surveys | +| `newUserUseDialog` | boolean | false | Display mode: `true` = dialog, `false` = notification | +| `powerUserUseDialog` | boolean | false | Display mode: `true` = dialog, `false` = notification | +| `browser` | object | - | Browser app will use this if present, else it will default to the above version | + +## Platform-Specific Configuration + +Use the `browser` object to override settings for browser deployments. All properties from the main config can be overridden. + +## Example + +```json +{ + "newUser": "https://s.surveyplanet.com/jssqbld8", + "newUserTitle": null, + "newUserUseDialog": false, + "newUserShowDelayMS": 1200000, + "powerUser": "https://s.surveyplanet.com/v3j59a7z", + "powerUserTitle": null, + "powerUserUseDialog": false, + "powerUserShowIntervalDays": 35, + "browser": { + "newUser": "https://s.surveyplanet.com/5lrpp9ud", + "powerUser": "https://s.surveyplanet.com/wtohpj8x", + "newUserShowDelayMS": 600000, + "powerUserShowIntervalDays": 30 + } +} +``` + +## Behavior + +- **New User Survey**: Shown once per user. Version number in code determines if shown again after updates. +- **Power User Survey**: First shown 14 days after initial boot, then repeats at configured interval. +- **Fallback**: If browser-specific config exists, native app uses main config, browser uses browser config with fallback to main. diff --git a/docs/surveys.json b/docs/surveys.json index 127e131..6f50e5b 100644 --- a/docs/surveys.json +++ b/docs/surveys.json @@ -9,4 +9,4 @@ "newUserShowDelayMS": 1200000, "powerUserShowIntervalDays": 35 } -} \ No newline at end of file +} From 2ced9bbec0450a063602116ffd0b67f4e959ec28 Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 23 Oct 2025 18:58:37 +0530 Subject: [PATCH 2/2] docs: new power user survey fields pxplanation powerUserLoggedIn powerUserPaid --- docs/surveys-readme.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/surveys-readme.md b/docs/surveys-readme.md index 29ca13f..f7beb48 100644 --- a/docs/surveys-readme.md +++ b/docs/surveys-readme.md @@ -6,13 +6,17 @@ Configuration file for user surveys displayed in Phoenix Code. - **newUser**: Survey shown once to new users after initial delay - **powerUser**: Recurring survey shown to active users at regular intervals + - **powerUserLoggedIn**: Optional survey URL for logged-in users (fallback to `powerUser` if not given) + - **powerUserPaid**: Optional survey URL for paid subscribers (takes precedence over `powerUserLoggedIn`) ## Configuration Properties | Property | Type | Default | Description | |----------|------|---------|----------------------------------------------------------------------------------| | `newUser` | string | - | URL for new user survey | -| `powerUser` | string | - | URL for power user survey | +| `powerUser` | string | - | URL for power user survey (fallback for all users) | +| `powerUserLoggedIn` | string/null | null | URL for logged-in users (overrides `powerUser`) | +| `powerUserPaid` | string/null | null | URL for paid subscribers (overrides `powerUserLoggedIn`) | | `newUserTitle` | string/null | null | Custom title for new user survey (null uses translated default) | | `powerUserTitle` | string/null | null | Custom title for power user survey (null uses translated default) | | `newUserShowDelayMS` | number | 1200000 | Delay before showing new user survey (20 minutes) | @@ -34,12 +38,16 @@ Use the `browser` object to override settings for browser deployments. All prope "newUserUseDialog": false, "newUserShowDelayMS": 1200000, "powerUser": "https://s.surveyplanet.com/v3j59a7z", + "powerUserLoggedIn": "https://s.surveyplanet.com/abc123", + "powerUserPaid": "https://s.surveyplanet.com/xyz789", "powerUserTitle": null, "powerUserUseDialog": false, "powerUserShowIntervalDays": 35, "browser": { "newUser": "https://s.surveyplanet.com/5lrpp9ud", "powerUser": "https://s.surveyplanet.com/wtohpj8x", + "powerUserLoggedIn": "https://s.surveyplanet.com/def456", + "powerUserPaid": "https://s.surveyplanet.com/uvw321", "newUserShowDelayMS": 600000, "powerUserShowIntervalDays": 30 } @@ -50,4 +58,5 @@ Use the `browser` object to override settings for browser deployments. All prope - **New User Survey**: Shown once per user. Version number in code determines if shown again after updates. - **Power User Survey**: First shown 14 days after initial boot, then repeats at configured interval. + - Survey URL selection priority: `powerUserPaid` (if paid subscriber) → `powerUserLoggedIn` (if logged in) → `powerUser` (fallback) - **Fallback**: If browser-specific config exists, native app uses main config, browser uses browser config with fallback to main.