Skip to content

iOS SDK

Add the Swift package (sdks/ios), then:

swift
import WingBlazeSDK

// App start
WingBlaze.configure(appId: "…", apiUrl: URL(string: "https://api…")!, ingestUrl: URL(string: "https://ingest…")!)
let granted = try await WingBlaze.enablePush()

// AppDelegate
func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken token: Data) {
    Task { try await WingBlaze.didRegisterForRemoteNotifications(deviceToken: token) }
}

// UNUserNotificationCenterDelegate
func userNotificationCenter(_ c: UNUserNotificationCenter, didReceive response: UNNotificationResponse) async {
    if let deepLink = await WingBlaze.handleNotificationClick(response) { open(deepLink) }
}

try await WingBlaze.login("user-123")
try await WingBlaze.addTags(["plan": "pro"])
try await WingBlaze.trackEvent("purchase", ["amount": 42])

Confirmed delivery

Add a Notification Service Extension whose class subclasses WingBlazeNotificationService — pushes are sent with mutable-content: 1, so the extension runs on every delivery, beacons it, and attaches imageUrl images.

Live Activities

swift
let activity = try Activity.request(attributes: attrs,
    content: .init(state: initial, staleDate: nil), pushType: .token)
WingBlaze.attachLiveActivity(activity) { serverId in /* send to your backend */ }

The SDK registers the activity's push token (and re-registers on rotation); your backend drives updates via the Live Activities API.

Data hosted in Southeast Asia (asia-southeast1).