v1.3.0
Added
App token (LinkForty Cloud organic-install attribution)
`appToken` is a new optional field on `LinkFortyConfig` that lets LinkForty Cloud attribute organic installs (App Store discovery, social mentions, etc.) to your workspace. Without it, only fingerprint-attributed installs (deeplink click → app open) get scoped to your workspace.
```swift
let config = LinkFortyConfig(
baseURL: URL(string: "https://go.yourdomain.com")!,
apiKey: "your-api-key",
appToken: "at_a1b2c3d4...", // recommended for Cloud
debug: true
)
try await LinkForty.shared.initialize(config: config)
```
- Format: `at_<32 hex>`
- Public: Safe to ship inside your app bundle — it only identifies which workspace owns the install; it cannot authenticate API actions or expose private data.
- Self-hosted Core: Field is accepted and ignored.
- Find it: Cloud Dashboard → Workspace Settings → App Token
External user ID
`setExternalUserId(_:)` and `getExternalUserId()` are new methods on `LinkForty` for SDK-level user attribution. The set value is automatically attached to all `createLink()` calls (unless overridden per-call), enabling per-user deduplication and share attribution on the dashboard.
```swift
LinkForty.shared.setExternalUserId("user-123")
// Now all createLink calls include externalUserId: "user-123"
let link = try await LinkForty.shared.createLink(options: CreateLinkOptions(
deepLinkParameters: ["productId": "abc"]
))
// Per-call override still works:
let oneOffLink = try await LinkForty.shared.createLink(options: CreateLinkOptions(
deepLinkParameters: ["productId": "abc"],
externalUserId: "different-user"
))
LinkForty.shared.setExternalUserId(nil) // clear
```
- Stored in memory only — not persisted to disk.
- Cleared by `clearData()` and `reset()`.
Compatibility
- Backwards-compatible: Existing apps continue to work without changes — both new fields are optional.
- Min iOS: 16.0 (unchanged)
- Min Xcode: 15.0 (unchanged)
- Swift: 5.9+ (unchanged)
Install
Swift Package Manager
```swift
.package(url: "https://github.com/LinkForty/mobile-sdk-ios.git", from: "1.3.0")
```
CocoaPods
```ruby
pod 'LinkFortySDK', '~> 1.3'
```
Changelog
See CHANGELOG.md for the full history.