Changelog
What changed in each release of lander_flutter.
Releases are published on pub.dev. Upgrade with flutter pub upgrade lander_flutter.
0.2.0
Deferred deep linking.
- Deferred links from
POST /v1/sdk/initarrive throughgetInitialLinkandonDeepLinkas before, now withisDeferred,confidence(deterministic,probabilisticorunattributed) and the newLanderLink.method(install_referrer,probabilistic_match,landing_page,authenticated_handoff,universal_link,app_link). Still delivered exactly once, and a link that opened the app wins over a deferred one. - Android: installs from a Lander link land on that link's screen. The redirector now puts a single use
lander_tokenin the Play Store referrer, which the SDK already sends on first launch (deterministic,install_referrer). Lander.claimHandoff(userId): after sign in, returns the link your backend bound to that user withPOST /v1/handoffs(deterministic,authenticated_handoff), ornull. Returned only, never emitted ononDeepLink. Retries reuse oneIdempotency-Key, so a lost response does not lose the link.- Custom scheme URLs that carry a short link in
lander_link(the iOS Continue in app page's open button) are resolved like the link itself.uristays the scheme URL, and if resolving fails the scheme URL's path still routes. sdkVersionreported as0.2.0.
0.1.0
First release: the installed app path.
Lander.initialize: random install ID (UUID v4, stored outside backups),POST /v1/sdk/initon every launch withisFirstLaunch, Play Install Referrer on Android first launch. Never throws on network errors. A failed first launch report is retried on the next launch with the same idempotency key, and aninstall_id_conflictgets a fresh install ID.Lander.onDeepLinkandLander.getInitialLink: Universal Links, App Links and custom scheme URLs on cold and warm start, resolved throughPOST /v1/sdk/resolve. Links are buffered until the app listens, the launch link is delivered exactly once, and unknown links (404) or network failures still deliver the raw URL.Lander.createLink: short links from inside the app viaPOST /v1/sdk/links.Lander.trackEvent: persistent offline queue, batches of up to 100, exponential backoff with jitter andRetry-After, deduplication by client generated event ID, flush on app background, held until the install is registered. OptionallinkIdfor attribution.- Request timeouts (10 s) and an
Idempotency-Keyon every write, reused across retries. - Android (Kotlin): launch intent and
onNewIntentdelivery, Recents replay ignored, Play Install Referrer. - iOS (Swift): app delegate and
UIScenebased apps,NSUserActivityUniversal Links and URL opens, privacy manifest. - Example app: Acme Shop with go_router.