FAQ
Answers to common questions about Screeb for Flutter.
Can I use Screeb without identifying users?โ
Yes. Screeb assigns an anonymous ID automatically when you call PluginScreeb.initSdk(). You don't need to call PluginScreeb.setIdentity() if you want to track anonymous users. Anonymous users count toward your Monthly Tracked Users (MTU).
How do I prevent Screeb from loading in test/CI environments?โ
Simply skip calling PluginScreeb.initSdk() in non-production environments. Use a conditional check based on your build configuration:
if (kReleaseMode) {
await PluginScreeb.initSdk('YOUR_CHANNEL_ID');
}
This prevents Screeb from initializing during development or testing.
Can I call initSdk() multiple times?โ
No. Call PluginScreeb.initSdk() only once per app session, typically in your main() function or app initialization code. Calling it multiple times may cause unexpected behavior. If you need to switch users, use PluginScreeb.resetIdentity() followed by PluginScreeb.setIdentity().
How do I switch to a different user (e.g., after login)?โ
Call PluginScreeb.resetIdentity() first to clear the current session, then call PluginScreeb.setIdentity() with the new user ID:
await PluginScreeb.resetIdentity();
await PluginScreeb.setIdentity(
"<USER-ID>",
properties: {
'email': 'support@screeb.app',
// other properties
},
);
Where do I find my Channel ID?โ
Your Channel ID is available in the Screeb admin console under Settings > Install. It looks like a UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
You need to configure a single channelId in your Flutter app.
Why is my survey not showing?โ
Common reasons a survey might not appear:
- Targeting rules: Check the survey targeting rules in the admin console
- User identification: Ensure the user is identified before the survey trigger fires
- Platform not configured: Ensure
channelIdis set - Initialization timing: Ensure
PluginScreeb.initSdk()completes before triggering surveys
See the Troubleshooting page for more detailed debugging steps.
Does Screeb support Flutter Web?โ
Currently, Screeb for Flutter targets iOS and Android only. For web applications, use @screeb/sdk-browser instead. If you're building a cross-platform app that includes web, you'll need to use conditional imports or platform checks to use the appropriate SDK.
Is Screeb compatible with Flutter 3.x?โ
Yes. Screeb requires Flutter 3.19 or higher and Dart 3.3 or higher. Check your Flutter version:
flutter --version
If you're using an older version, upgrade Flutter to use the Screeb SDK:
flutter upgrade
Do I need to configure anything for iOS in addition to Android?โ
Yes. Follow the iOS setup steps in the Install guide:
- Add the Screeb pod to your
ios/Podfile(if not using automatic plugin registration) - Configure
Info.plistwith required permissions - Add
NSCameraUsageDescriptionif your surveys use media uploads - Run
pod installin theios/directory
Both platforms require platform-specific setup, and the Flutter SDK uses a single channelId parameter.
Can I test Screeb in the Flutter emulator/simulator?โ
Yes. Screeb works in both Android emulators and iOS simulators. However, for the most accurate testing, use a real device to ensure all native features (like camera uploads, if used) work correctly.
To run on an emulator:
flutter run
To run on a connected device:
flutter devices
flutter run -d <device-id>