Skip to main content

Troubleshooting

Common issues and solutions for the Pulse Android SDK.

SDK Not Initialized

Symptoms

If you see warnings about the SDK not being initialized:

  • No telemetry being sent
  • Logcat warnings about SDK not initialized

Solution

  1. Ensure PulseSDK.INSTANCE.initialize() is called in your Application.onCreate()
  2. Check that the initialization happens before any other SDK calls
  3. Verify the endpoint URL is correct and accessible
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize early
PulseSDK.INSTANCE.initialize(
application = this,
endpointBaseUrl = "https://your-backend.com"
)
}
}

No Telemetry Being Sent

Possible Causes

  • Network connectivity issues
  • Incorrect endpoint URL
  • Authentication headers missing
  • Disk buffering disabled when offline

Solution

  1. Check network connectivity
  2. Verify endpoint URL and headers are correct
  3. Check Android logcat for error messages
  4. Ensure disk buffering is enabled if you're testing offline scenarios:
PulseSDK.INSTANCE.initialize(
application = this,
endpointBaseUrl = "https://your-backend.com",
diskBuffering = {
enabled(true)
maxCacheSize(50 * 1024 * 1024) // 50 MB
}
)

Performance Impact

The SDK is designed for minimal overhead, but you can optimize:

Solutions

  • Disable unused instrumentations
  • Adjust sampling rates if needed
  • Monitor SDK performance metrics
PulseSDK.INSTANCE.initialize(
application = this,
endpointBaseUrl = "https://your-backend.com"
) {
// Disable instrumentations you don't need
fragment { enabled(false) }
}

Still Having Issues?

If you're still experiencing issues:

  1. Check the API Reference for correct usage
  2. Review the instrumentation guides for recommended patterns
  3. Open an issue on GitHub

Next Steps

  • Review the instrumentation guides for recommended patterns
  • Check the API Reference for detailed method documentation