Skip to main content
Version: Ionic SDK

FAQ

Answers to common questions about @screeb/sdk-angular.

Can I use Screeb without identifying users?

Yes. Screeb assigns an anonymous ID automatically when you initialize the SDK. You don't need to call this.screeb.identity() 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?

Use the shouldLoad config option when configuring the SDK:

provideScreeb({
androidChannelId: 'YOUR_ANDROID_CHANNEL_ID',
iosChannelId: 'YOUR_IOS_CHANNEL_ID',
shouldLoad: environment.production
})

This prevents Screeb from loading in development, testing, or CI environments.

Can I call init() multiple times?

No. The SDK initializes once when your app starts (via autoInit: true by default, or when you manually call this.screeb.init()). Calling init multiple times may cause unexpected behavior. If you need to switch users, use this.screeb.identityReset() followed by this.screeb.identity().

How do I switch to a different user (e.g., after login)?

Call this.screeb.identityReset() first to clear the current session, then call this.screeb.identity() with the new user ID:

this.screeb.identityReset();
this.screeb.identity('new-user-id', {
email: 'support@screeb.app',
// other properties
});

Where do I find my Channel ID?

Your Channel IDs (one for Android, one for iOS) are available in the Screeb admin console under Settings > Install. Each looks like a UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

You need to configure both androidChannelId and iosChannelId in your Ionic app.

Why is my survey not showing?

Common reasons a survey might not appear:

  1. Targeting rules: Check the survey targeting rules in the admin console
  2. User identification: Ensure the user is identified before the survey trigger fires
  3. shouldLoad is false: Check that shouldLoad is not set to false in your config
  4. Capacitor not installed: Ensure Capacitor is properly installed and configured
  5. Native plugin not synced: Run npx cap sync after installing the SDK

See the Troubleshooting page for more detailed debugging steps.

Does Screeb work in the Ionic browser dev server?

Yes, the WebView features work in browser mode for development (ionic serve). However, native features like WebView visibility tracking (foreground/background) require a real device or emulator via Capacitor.

For full functionality testing, run your app on a device or emulator:

npx cap run android
# or
npx cap run ios

Why does the survey widget look different on iOS vs Android?

The Screeb widget renders inside a WebView with consistent styling across platforms. However, minor differences may occur due to:

  • System font rendering differences
  • Safe area insets (notches, navigation bars)
  • WebView version differences

The core layout, colors, and interactions remain consistent. If you notice significant differences, check that you're using the latest version of Capacitor and the Screeb SDK.

Do I need separate channel IDs for Android and iOS?

Yes. Each platform requires its own channel ID:

provideScreeb({
androidChannelId: 'your-android-channel-id',
iosChannelId: 'your-ios-channel-id'
})

You can find both IDs in the Screeb admin console under Settings > Install. Make sure to select the correct mobile platform (Android or iOS) to see the corresponding channel ID.

Can I test surveys in the browser during development?

Yes, but with limitations. When running ionic serve, Screeb will attempt to load in browser mode. Surveys will appear, but some native features (like app lifecycle events) won't work.

For the most accurate testing, use an emulator or real device with Capacitor.