← Files OneSignalARCHIVED FILE

skills/setup/assets/ios/OneSignalManager.swift.tmpl

709 Bytes · Sep 30, 2026 · 22:50 UTC

↓ Download file

import OneSignalFramework

// onesignal:managed v1
// Centralized wrapper — route all OneSignal calls through this type. The only
// permitted OneSignal calls outside this file are OneSignal.initialize(...) at
// launch and the debug-only verification helper.
final class OneSignalManager {
    static let shared = OneSignalManager()
    private init() {}

    func login(_ externalId: String) { OneSignal.login(externalId) }
    func logout() { OneSignal.logout() }
    func setEmail(_ email: String) { OneSignal.User.addEmail(email) }
    func setSmsNumber(_ number: String) { OneSignal.User.addSms(number) }
    func setTag(key: String, value: String) { OneSignal.User.addTag(key: key, value: value) }
}

SHA-256: f779f50149fa2fc7a5ddbdd9df3f2dd962221d4debd110ca0979fab5d8086c29