Skip to content

Troubleshooting

Check:

  • initialize(...) or init(...) was called only once on a fresh instance
  • a valid publicKey is present
  • attachContext(...) was called with a valid platform context
  • setPath(...) matches the paths expected by popup segmentation
  • autoLaunch is enabled, or autoLaunch() is called after initialization

Check:

  • runtime environment is pointing to the expected backend base URL
  • the backend has popup definitions for the given publicKey
  • the app provides the expected language and path values

Check:

  • the host app actually forwards scroll percentage through onScroll(...)
  • custom events are sent with triggerEvent(...)
  • click-based flows use triggerClick(...)

The survey is rendered inside a native web view, which loads the survey script and stylesheet from the jsDelivr CDN (cdn.jsdelivr.net) and the survey from the Deepdots API.

Check:

  • the device has network access and cdn.jsdelivr.net is not blocked by a proxy, VPN or firewall
  • the survey is published and belongs to the same environment as the publicKey
  • the SDK logs with debug = true (Logcat / Xcode console) for web view errors

Check that the app’s Info.plist contains CADisableMinimumFrameDurationOnPhone set to true. The popup is rendered with Compose Multiplatform, which requires it on ProMotion (120 Hz) devices. See Installation.

Validation or submit errors in survey flows

Section titled “Validation or submit errors in survey flows”

The code handles both validation and submit errors and surfaces them in the UI. If the survey becomes stuck:

  • inspect Android WebView logs
  • inspect iOS console output and bridge messages
  • confirm the survey payload contains the expected progress and total values

iOS binary package build or resolution issues

Section titled “iOS binary package build or resolution issues”

Check:

  • the local or hosted XCFramework exists
  • spm/Package.swift points to the correct release ZIP and checksum
  • the iOS demo has resolved package dependencies after regenerating the local binary if needed