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
- Ensure
PulseSDK.INSTANCE.initialize()is called in yourApplication.onCreate() - Check that the initialization happens before any other SDK calls
- 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
- Check network connectivity
- Verify endpoint URL and headers are correct
- Check Android logcat for error messages
- 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:
- Check the API Reference for correct usage
- Review the instrumentation guides for recommended patterns
- Open an issue on GitHub
Next Steps
- Review the instrumentation guides for recommended patterns
- Check the API Reference for detailed method documentation