flinku_sdk 0.7.4
flinku_sdk: ^0.7.4 copied to clipboard
Official Flutter SDK for Flinku — deferred deep linking for iOS and Android. A practical alternative and replacement for Firebase Dynamic Links after the shutdown.
0.7.4 - 2026-10-05 #
- Deferred matching on dual stack networks: on the first launches after
install,
match()now asks the server over IPv6 and then over IPv4 instead of one default connection. Before, a click recorded by the browser over IPv6 could not be matched when Dart connected over IPv4, because the server matches on the public IP. IPv4 is only asked when IPv6 did not match. - Limited to the first five launches within 24 hours of the first attempt. Later launches make the single request as before.
- No API change.
resetAll()also clears the attempt bookkeeping. tool/family_probe.dartprints the public IP flku.dev sees for the default, IPv6 and IPv4 connections.
0.7.3 - 2026-09-22 #
- Optional
customDomainonFlinku.configurefor active custom link domains;createLinkInstantand clipboard matching use it when set. baseUrlis validated ashttps://{subdomain}.flku.dev; API requests usehttps://flku.dev.
0.7.2 - 2026-09-03 #
createLinkInstantretries the background POST up to three times (1s, 2s, 4s backoff) on transient failures (network, timeout, 5xx, 429). Terminal errors (400, 403, 409) are not retried.
0.7.1 - 2026-09-02 #
- Metadata and documentation only: updated pub.dev description, README, and added
referraltopic. No code changes.
0.7.0 - 2026-07-21 #
Flinku.resetAll()— testing-only full local wipe (match cache, user id, pending referral, tracked-once flags). Does not changereset()behaviour.- Pending referral index entry is removed when a pending referral record expires by TTL.
0.6.0 #
- Pending referral attribution is stored separately from the match cache (
flinku_pending_referral_{projectId}) Flinku.reset()no longer clears referral attribution or the stored user id- Failed track POSTs leave the pending record in place and retry on the next
setUserIdorconfigure(when a userId is already stored) - Pending referrals expire after 30 days
0.5.0 #
- Referral track once-per-user flag is now
referral_tracked_{projectId}_{userId} - README Referrals section documents
apiKeyonconfigure
0.4.0 #
Flinku.setUserId— store app user id and auto-track referrals from cached matchreferrerIdFlinku.qualifyReferral— mark a referred user as qualified for an optional event
0.3.5 Support publishable API keys (flk_pk_). Debug-mode warning when a secret key is embedded. Surface Allowed Domains errors clearly. #
0.3.3 Add createLinkInstant for instant link creation without waiting for server #
0.3.3 #
- Clipboard fallback in
match()when fingerprint matching returns no result FlinkuLink.matchType—clipboard,fingerprint,referrer, ornonefrom the API
0.3.2 #
- Documented all public APIs with
dartdoccomments for pub.dev scoring - Added
example/Flutter app demonstratingconfigure,match, andreset
0.3.1 #
match()now POSTs to the root API host (apiBaseUrl) derived frombaseUrl, with bodysubdomain+userAgent(flutter/<platform>)match()returnsFlinkuLink?—nullwhen unmatched, on error, or on non-200 responses
0.3.0 #
- Added
createLink()andcreateLinks()methods for programmatic link creation
0.2.0 #
- Project-based architecture — baseUrl is now your project subdomain URL
- Added
paramsto FlinkuLink — access custom parameters from your links - Added
title,clickedAt,subdomain,projectIdto FlinkuLink - Added timeout configuration (default 5 seconds)
- Added retry logic — retries once on network failure
- Added double-match prevention — match() returns cached result after first match
- Added
Flinku.reset()for testing - Updated subdomain auto-extraction from baseUrl
0.1.0 #
- Initial release
- Deferred deep linking support for iOS and Android
- Fingerprint-based link matching
- Simple 3-line integration