Before and afterRe-contract the integration
Resolve each dimension explicitly. “It compiled” does not prove identity, lifecycle, failure, privacy, or operational compatibility.
DimensionLegacy exposureCandidate targetRequired proof
Session identitySDK initialization and tracking state can hide durable device, user, asset, and session identities.
Persist each identity, expected version, consent revision, and command idempotency key above the SDK.
Start, duplicate start, restart, logout, reinstall, device transfer, and retirement journeys reconcile to one authoritative session.
Background lifecycleHistorical iOS background, permission, and application-delegate assumptions may no longer hold.
Qualify current authorization, accuracy, background mode, scene, suspension, termination, and relaunch behavior.
Physical-device tests cover denial, reduced accuracy, background, force quit, reboot, low power, offline, and upgrade.
Event recoveryCallbacks or local queues may not expose authoritative ordering or acknowledgement.
Normalize event identity, observed time, sequence, acknowledgement, and reconciliation state outside the SDK.
Duplicate, gap, late, out-of-order, timeout-after-commit, and revoked-entitlement injection produces bounded recovery.