Instrument
Choose a mobile SDK
Connect iOS, Android, React Native, or Flutter activity to the same customer story.
Anectico’s mobile SDKs share the same identity, session, event, error, crash, retry, and propagation contract. Choose the SDK that owns your application’s runtime:
| Application | Guide | Minimum or key requirement |
|---|---|---|
| Native Apple | iOS | iOS 15+, Swift Package Manager |
| Native Android | Android | minSdk 24, Kotlin/Gradle |
| React Native | React Native | React Native 0.73+, native build setup |
| Flutter | Flutter | Flutter plugin with native Android/iOS SDKs |
During early access, some registry packages may not be published. Use the source coordinate or package artifact shown in the platform onboarding instructions.
Shared behavior
Configure the SDK once at application startup, identify after login, and call reset at logout. A
stable distinct_id connects product events, caught errors, native crashes, and backend requests to
one customer. On Android, iOS, and their React Native bridges, reset also clears global
error-user context and buffered breadcrumbs so prior-account diagnostics cannot cross a shared-device
logout boundary.
Use a project-scoped key with ingest:write and analytics:write: mobile telemetry and errors use
the ingestion surface, while identity and application events use the diagnostic capture surface.
Never include read, management, or agent scopes in an application build.
Each SDK persists diagnostic events before batching and retries failed delivery with stable message IDs. Fatal native crashes are spooled and sent on the next launch. Mobile SDKs do not currently record native session replay.
Native Android additionally exposes durable Anectico.captureLog OTLP logs. It snapshots occurrence
time and customer/session/app/device context before an atomic sandbox write and retries across
process recreation. iOS, React Native, and Flutter do not yet expose the same public log API.
Releases and readable stacks
Set a stable release and optional dist for every production build. Upload the matching artifacts:
- iOS: dSYM;
- Android: R8/ProGuard
mapping.txt; - React Native: native artifacts plus Metro source maps; and
- Flutter: native artifacts. Obfuscated Dart frames are not currently symbolicated by Anectico.
Release and distribution values must match the captured error exactly.
Connect a mobile request to the backend
Use the SDK’s propagation helper to add W3C traceparent and baggage to calls sent to a trusted,
instrumented backend. Do not attach identity baggage to arbitrary third-party requests. The backend
must treat customer identity headers from public devices as untrusted and verify or replace them at
its gateway.
Verify
Launch a release build, identify a test customer, capture one event and one caught error, and make one request to an instrumented backend. Open Customers and confirm the mobile and backend evidence is connected under the same ID. Then verify the Issue stack is readable after uploading symbols.