← Files OneSignalARCHIVED FILE

skills/setup/assets/android/OneSignalManager.kt.tmpl

1.07 KB · Oct 5, 2026 · 18:06 UTC

↓ Download file

// onesignal:managed v1
// Centralized OneSignal wrapper — the ONLY place OneSignal SDK calls live
// (except the debug-only verification helper). Place in your app's package and
// set the package line to match. Signatures verified against the v5 SDK
// data surface; string tag values only; call login() before tags/email/sms.
package __PACKAGE__

import android.content.Context
import com.onesignal.OneSignal
import com.onesignal.debug.LogLevel

object OneSignalManager {
    private var initialized = false

    fun initialize(context: Context, appId: String) {
        if (initialized) return
        OneSignal.Debug.logLevel = LogLevel.VERBOSE // remove for production
        OneSignal.initWithContext(context.applicationContext, appId)
        initialized = true
    }

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

SHA-256: 414718fe10534588431e3ebe2ff399f41c59dcc76e774457c74eba9ca1d43450