Mobile - Surveys Feature Parity
I don't think we track this anywhere. This was generated with Claude and I didn't go through it in detail. Let's have this place to keep track of survey features across SDKS?
Summary
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Core Implementation |
✅ Full |
✅ Partial |
✅ Partial |
✅ Partial |
✅ Partial |
| Default UI |
✅ |
✅ |
✅ (iOS 15+) |
❌ (logs only) |
✅ |
1. Question Types
| Question Type |
Web |
React Native |
iOS |
Android |
Flutter |
| Open (Text) |
✅ |
✅ |
✅ |
✅ |
✅ |
| Link |
✅ |
✅ |
✅ |
✅ |
✅ |
| Rating |
✅ |
✅ |
✅ |
✅ |
✅ |
| Single Choice |
✅ |
✅ |
✅ |
✅ |
✅ |
| Multiple Choice |
✅ |
✅ |
✅ |
✅ |
✅ |
Rating Question Features
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Emoji Display (3/5 scale) |
✅ |
✅ |
✅ |
✅ |
✅ |
| Number Display |
✅ |
✅ |
✅ |
✅ |
✅ |
| 3-point Scale |
✅ |
✅ |
✅ |
✅ |
✅ |
| 5-point Scale |
✅ |
✅ |
✅ |
✅ |
✅ |
| 7-point Scale |
✅ |
✅ |
✅ |
✅ |
✅ |
| 10-point Scale (NPS) |
✅ |
✅ |
✅ |
✅ |
✅ |
| Lower/Upper Bound Labels |
✅ |
✅ |
✅ |
✅ |
✅ |
Choice Question Features
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Open Choice (Other) |
✅ |
✅ |
✅ |
✅ |
✅ |
| Shuffle Options |
✅ |
❌ TODO |
❌ |
❌ |
❌ |
2. Survey Types
| Survey Type |
Web |
React Native |
iOS |
Android |
Flutter |
| Popover |
✅ |
✅ |
✅ |
✅ |
✅ |
| Widget (Tab) |
✅ |
❌ |
❌ |
❌ |
❌ |
| Widget (Selector) |
✅ |
❌ |
❌ |
❌ |
❌ |
| Widget (Button) |
✅ |
❌ |
❌ |
❌ |
❌ |
| API |
✅ |
❌ |
❌ |
❌ |
❌ |
| External Survey |
✅ |
❌ |
❌ |
❌ |
❌ |
3. Display Conditions / Targeting
| Condition |
Web |
React Native |
iOS |
Android |
Flutter |
| Device Type |
✅ |
✅ |
✅ |
✅ |
✅* |
| URL Matching |
✅ |
❌ N/A |
❌ TODO |
❌ |
❌ N/A |
| CSS Selector |
✅ |
❌ N/A |
❌ TODO |
❌ |
❌ N/A |
| Linked Feature Flag |
✅ |
✅ |
✅ |
✅ |
✅* |
| Targeting Feature Flag |
✅ |
✅ |
✅ |
✅ |
✅* |
| Internal Targeting Flag |
✅ |
✅ |
✅ |
✅ |
✅* |
| Multiple Feature Flags |
✅ |
✅ |
✅ |
✅ |
✅* |
| Linked Flag Variant |
✅ |
✅ |
❌ |
❌ |
❌ |
| Seen Survey Wait Period |
✅ |
❌ (commented) |
❌ |
❌ |
❌ |
*Flutter delegates filtering to native iOS/Android SDKs
4. Activation Triggers
| Trigger |
Web |
React Native |
iOS |
Android |
Flutter |
| Page Load / App Open |
✅ |
✅ |
✅ |
✅ |
✅ |
| Event-based |
✅ |
✅ |
✅ |
✅ |
✅* |
| Event Property Filters |
✅ |
✅ |
❌ |
❌ |
❌ |
| Action-based |
✅ |
❌ |
❌ |
❌ |
❌ |
| View Layout Change |
❌ |
❌ |
✅ |
❌ |
❌ |
| App Became Active |
❌ |
❌ |
✅ |
❌ |
❌ |
| Repeated Activation |
✅ |
✅ |
✅ |
✅ |
✅* |
*Flutter delegates to native SDKs
5. Branching Logic
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Next Question |
✅ |
✅ |
✅ |
✅ |
✅* |
| End Survey |
✅ |
✅ |
✅ |
✅ |
✅* |
| Specific Question Jump |
✅ |
✅ |
✅ |
✅ |
✅* |
| Response-Based (Single) |
✅ |
✅ |
✅ |
✅ |
✅* |
| Response-Based (Rating) |
✅ |
✅ |
✅ |
✅ |
✅* |
| Rating Bucket Calculation |
✅ |
✅ |
✅ |
✅ |
✅* |
*Flutter delegates branching to native SDKs
6. Survey Events
| Event |
Web |
React Native |
iOS |
Android |
Flutter |
survey shown |
✅ |
✅ |
✅ |
✅ |
✅* |
survey sent |
✅ |
✅ |
✅ |
✅ |
✅* |
survey dismissed |
✅ |
✅ |
✅ |
✅ |
✅* |
| Survey iteration tracking |
✅ |
✅ |
✅ |
✅ |
✅* |
$set interaction props |
✅ |
✅ |
✅ |
✅ |
✅* |
$survey_questions in event |
✅ |
✅ |
✅ |
✅ |
✅* |
*Flutter delegates events to native SDKs
7. Advanced Features
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Shuffle Questions |
✅ |
❌ TODO |
❌ |
❌ |
❌ |
| Survey Appearance Delay |
✅ |
❌ TODO |
❌ |
❌ |
❌ |
| Partial Responses |
✅ |
❌ |
❌ |
❌ |
❌ |
| URL Prefill |
✅ |
❌ N/A |
❌ |
❌ |
❌ |
| In-Progress State |
✅ |
❌ |
❌ |
❌ |
❌ |
| Survey Cancel Events |
✅ |
❌ |
❌ |
❌ |
❌ |
| Survey Schedule (Once/Recurring/Always) |
✅ |
❌ |
❌ |
❌ |
❌ |
8. Appearance / Customization
| Feature |
Web |
React Native |
iOS |
Android |
Flutter |
| Background Color |
✅ |
✅ |
✅ |
✅ |
✅ |
| Submit Button Color |
✅ |
✅ |
✅ |
✅ |
✅ |
| Submit Button Text |
✅ |
✅ |
✅ |
✅ |
✅ |
| Submit Button Text Color |
✅ |
✅ |
✅ |
✅ |
✅ |
| Rating Button Colors |
✅ |
✅ |
✅ |
✅ |
✅ |
| Border Color |
✅ |
✅ |
✅ |
✅ |
✅ |
| Input Background |
✅ |
✅ |
✅ |
❌ (delegate) |
❌ |
| Placeholder Text |
✅ |
✅ |
✅ |
✅ |
✅ |
| Thank You Message |
✅ |
✅ |
✅ |
✅ |
✅ |
| Auto Disappear |
✅ |
❌ |
✅ |
❌ |
❌ |
| Hide Cancel Button |
✅ |
❌ |
❌ |
❌ |
❌ |
| Position (Multiple) |
✅ |
❌ |
❌ |
❌ |
❌ |
| HTML Description |
✅ |
❌ (text only) |
✅ |
✅ |
❌ (text only) |
| Custom Font Family |
✅ |
❌ |
✅ |
❌ (delegate) |
❌ |
9. Architecture
| Aspect |
Web |
React Native |
iOS |
Android |
Flutter |
| Survey Loading |
Remote Config |
Remote Config |
Remote Config |
Remote Config (Push) |
Native SDK |
| Survey Filtering |
SDK |
SDK |
SDK |
SDK |
Native SDK |
| UI Rendering |
Preact/HTML |
React Native |
SwiftUI |
Delegate |
Flutter Widgets |
| Custom Rendering |
❌ |
❌ |
✅ Delegate |
✅ Delegate |
❌ |
| Default UI |
✅ |
✅ |
✅ (iOS 15+) |
❌ |
✅ |
Tracked Issues
Display Conditions / Targeting
Appearance / Customization
Activation Triggers
Advanced Features