Skip to main content
The Tappify SDK’s public API is deliberately small: one enum, four static/instance functions total. This page is reference — for a walkthrough, see the quickstart.
This page documents the SDK’s Swift API only. The network protocol the SDK speaks to Tappify’s backend is an internal integration surface, not a public API, and isn’t documented here.

Tappify.start

Boots the SDK. Call it once, as early as possible — typically in AppDelegate.application(_:didFinishLaunchingWithOptions:). Calling it more than once is a no-op after the first call. Until start(appKey:) has been called and a device has completed pairing, the SDK makes no network calls, renders no UI, and captures nothing.

Tappify.handle(url:)

Manually routes a URL to the SDK’s activation handling. Returns true if the URL was a Tappify activation link (whether or not the activation ultimately succeeded), false for any other URL. Tappify.start(appKey:) installs a swizzle on your app/scene delegate that intercepts activation links automatically, so most integrations never call this directly. Call it yourself when:
  • Your team avoids runtime method swizzling on principle — wire it into your own URL handling (application(_:open:options:) or scene(_:openURLContexts:)) instead.
  • Your app delegate doesn’t implement any of the optional URL-handling methods the swizzle needs to attach to, in which case calling this manually is the only way activation links reach the SDK.
It’s safe to call unconditionally alongside the automatic swizzle — it no-ops on non-Tappify URLs and de-dups repeat deliveries of the same link, so double-handling the same URL is harmless. See Troubleshooting for the symptom this solves.

Screen tagging

Manually sets the screen identifier used for any comment threads created from this point until the next screen change. Call it from anywhere — most commonly a UIKit viewDidAppear override.
A SwiftUI modifier that calls Tappify.tagScreen(_:) on appear. Attach it to any view:
See Screen names for why this matters and when you need it.