Skip to main content

Zixflow Core

// Initialize SDK
Zixflow.initialize(config: ZixflowConfig)

// Get instance
Zixflow.instance()

// Identify user
Zixflow.instance().identify(userId: String, traits: Map<String, Any>? = null)

// Track event
Zixflow.instance().track(
    name: String,
    properties: Map<String, Any>? = null,
    timestamp: Long? = null
)

// Track screen
Zixflow.instance().screen(
    title: String,
    properties: Map<String, Any>? = null
)

// Set profile attributes
Zixflow.instance().setProfileAttributes(attributes: Map<String, Any>)

// Set device attributes
Zixflow.instance().setDeviceAttributes(attributes: Map<String, Any>)

// Clear user identification
Zixflow.instance().clearIdentify()

// Get device token
Zixflow.instance().registeredDeviceToken: String?

ZixflowConfigBuilder

ZixflowConfigBuilder(applicationContext: Context, apiKey: String)
    .logLevel(ZixflowLogLevel)
    .autoTrackDeviceAttributes(Boolean)
    .autoTrackActivityScreens(Boolean)
    .trackApplicationLifecycleEvents(Boolean)
    .apiHost(String)
    .cdnHost(String)
    .flushAt(Int)
    .flushInterval(Int)
    .addModule(Module)
    .build(): ZixflowConfig

Modules

// Push notifications
ModuleMessagingPushFCM(config: MessagingPushModuleConfig? = null)

// In-app messaging
ModuleMessagingInApp(config: MessagingInAppModuleConfig)

// Location tracking
ModuleLocation()