The SDK does not build
| Symptom | Check |
|---|---|
| Swift: No such module Aplyna | Add the local sdks/ios package, link its Aplyna product to the app target, and build with a Swift 6-capable toolchain. |
| Swift deployment target error | The package declares iOS 16+ / macOS 13+. Align your target requirements. |
| Android plugin version conflict | Align AGP/Kotlin declarations with root plugin management. Do not resolve conflicting explicit versions twice. |
| Android dependency not found | Confirm include(":aplyna-sdk"), the folder name, and implementation(project(":aplyna-sdk")). Sync Gradle. |
| React Native or Flutter install command | There is no released wrapper package. Do not install an assumed package name; use supported native integration. |
No events in Charts
- Check that an event was actually tracked before flush; an empty queue makes no ingestion request.
- Check consent is granted in this client instance.
- Catch and inspect flush errors; never log the SDK key or private payloads.
- Confirm the selected dashboard application issued the key.
- Check the chosen reporting period and time zone include the event.
- Ensure occurred_at is within the past 90 days and at most 5 minutes in the future.
- Retain the client/installation ID, fix delivery, then call flush again.
A flow will not load
| Symptom | Resolution |
|---|---|
| 404 configuration | Verify the flow is published and belongs to the SDK key's app. |
| 422 schema | Upgrade to a compatible renderer or use the app's native fallback. Kotlin currently requests schema 1. |
| Offline first launch | No cache exists yet. Render bundled onboarding. |
| Old content still appears | Draft saves do not publish. Check the release and allow for private configuration caching. |
| Always receives Control A | Verify a running experiment and published flow. A has no experiment ID when the client has no active/cached experiment assignment. |
The experiment has no conversions
- Verify expose is called when the assigned variant is actually visible.
- Pass the same returned assignment to goal events.
- Check experiment, installation and variant match, and conversion occurs after exposure.
- Check the primary goal name matches the event you send.
- Completed results are frozen at the server receipt cutoff; later receipts do not alter them.
Apple credential validation fails
Use the matching key type, Key ID and Issuer ID from the same Apple team/key. A Developer Team ID is not an Issuer ID. Reused keys must be available to an Admin in the same Aplyna organization, and access is revalidated for the destination app. Uploading keys does not change notification URLs.
Prepare a useful diagnostic
Include the platform, SDK source version/date, app/flow identifiers, error status, approximate timestamp and steps to reproduce through your existing Aplyna support channel. Remove keys, tokens, private .p8 files and customer event payloads. An unavailable metric is not zero, and sample preview numbers are not connected data.