Skip to content

0.0.11

Latest

Choose a tag to compare

@ahsanalidotme ahsanalidotme released this 07 Aug 21:31
· 2 commits to main since this release
0.0.11
304a3c2

What's new — clickTokenSource: .none

A third option beside .pasteButton and .automatic:

LinkTrailOptions(clickTokenSource: .none)

The SDK never touches the clipboard, by any path — no deferred click token, no iOS "Allow Paste" alert, nothing to add to your UI. Attribution falls back to the probabilistic (IP) match.

Use it when your links don't stage a token (no web interstitial), or when you'd rather not ask for clipboard access at all.

The guarantee is enforced, not just documented: under .none, trackInstall(clickToken:) ignores a token even when handed one explicitly, so a stray LinkTrailPasteButton left in the UI can't quietly re-enable clipboard reads.

⚠️ Probabilistic matching is lossy. It misses on shared IPs (offices, CGNAT, public wifi), VPNs, and the common case of clicking on cellular then installing on wifi — and it can occasionally match the wrong user, so treat deferred link content as best-effort personalization. Only a click token gives a deterministic, IP-independent match.

Note: spelled .none, it shadows Optional.none if you store the value as LinkTrailClickTokenSource? — write LinkTrailClickTokenSource.none there.

Choosing a mode

Mode Clipboard User sees
.pasteButton (default) read on the user's tap of a native UIPasteControl your paste button — no system alert
.automatic read by the SDK at install the iOS "Allow Paste" alert
.none (new) never read nothing — no alert, no button

Demo app

The KickFlip demo in example/ now covers all three modes: a consent gate for .pasteButton, and a tracking-consent screen for .none so the install carries the user's real consent value. The API key is baked in at build time (LINKTRAIL_KEY=lt_live_… xcodegen generate) instead of pasted into source.

Install

.package(url: "https://github.com/linktrail-io/ios-sdk.git", from: "0.0.11")
pod 'LinkTrailSDK', '~> 0.0.11'

No breaking changes.none is purely additive. iOS 15+.

Full changelog: 0.0.10...0.0.11