Android
Platform Config
Android-specific configuration and XML defaults
SDK XML Configuration
Located in android-sdk/sdk/src/main/res/values/kycis_config.xml:
<resources>
<!-- Whether to lazily push schemas when screen changes -->
<bool name="kycis_lazy_schema_push_default">true</bool>
<!-- Remote config refresh interval -->
<integer name="kycis_config_refresh_interval_seconds">60</integer>
<!-- Whether component input hints are masked by default -->
<bool name="kycis_component_input_hints_masked_default">true</bool>
<!-- Suppress high_time_spent trigger -->
<bool name="kycis_suppress_high_time_spent_trigger_default">false</bool>
<!-- Config fetch timeout -->
<integer name="kycis_config_fetch_timeout_ms">5000</integer>
</resources>Debug Overrides
Debug-specific values in android-sdk/sdk/src/debug/res/values/kycis_config.xml:
<resources>
<bool name="kycis_component_input_hints_masked_default">false</bool>
<integer name="kycis_config_refresh_interval_seconds">15</integer>
</resources>RuntimePolicy Configuration
Key policy fields:
| Field | Default | Purpose |
|---|---|---|
backendBaseUrl | http://localhost:8000/v1 | Backend API base URL |
clientId | null | Multi-tenant routing identifier |
mappingVersion | null | Screen mapping catalog version |
appVersion | null | App version for telemetry |
triggerStartMode | CONFIRM_UI | How triggers start assistant |
kycStepStrategy | HINT_THEN_INFER | How step context is determined |
passiveEvalEnabled | true | Enable passive trigger evaluation |
passiveEvalIntervalSeconds | 10 | Seconds between passive evaluations |
TriggerSettings
| Field | Default | Purpose |
|---|---|---|
autoTriggerEnabled | true | Allow automatic trigger evaluation |
includeErrorSignals | true | Include errors in trigger signals |
includeTimeSpentSignals | false | Include time-on-screen in signals |
includeIdleSignals | false | Include idle time in signals |
includeStepHints | true | Include step context in signals |
Network Configuration
Common base URLs:
- Emulator:
http://10.0.2.2:8000/v1 - Physical device (LAN):
http://<computer-ip>:8000/v1 - Production:
https://kycis.zynnex.in/v1
Security Considerations
- Do not hardcode API keys in source
- Use BuildConfig fields or environment-specific configs
- Keep secrets out of XML resource files
- Use ProGuard/R8 rules to obfuscate SDK internals if needed
Backend Feature Flags
Controlled via backend/config/kycis.yaml:
integration.livekit_dispatchintegration.schema_registryintegration.sdk_config_targetingtrigger.v2_scoringtrigger.policy_enginetrigger.intervention_modes
Check active flags via:
GET /api/featuresGET /api/activity(returnsfeature_flags)