STRUCT
User
public struct User: Codable, Equatable
Represents a user with session information
Properties
userId
public let userId: String
sessionId
public let sessionId: String
sessionParams
public let sessionParams: SessionParams
experimentsBucket
public var experimentsBucket: Bucket
variationsBucket
public var variationsBucket: Bucket
sessionCount
public let sessionCount: Int
pageviewCount
public let pageviewCount: Int
isReturning
public let isReturning: Bool
createdAt
public let createdAt: Date
lastSeen
public let lastSeen: Date
Methods
init(userId:sessionId:sessionParams:experimentsBucket:variationsBucket:sessionCount:pageviewCount:isReturning:createdAt:lastSeen:)
public init(
userId: String,
sessionId: String,
sessionParams: SessionParams,
experimentsBucket: Bucket = Bucket(),
variationsBucket: Bucket = Bucket(),
sessionCount: Int = 1,
pageviewCount: Int = 0,
isReturning: Bool = false,
createdAt: Date = Date(),
lastSeen: Date = Date()
)
incrementPageviews()
public func incrementPageviews() -> User
Increment pageview count - Returns: New User instance with incremented pageview count
incrementSessions()
public func incrementSessions() -> User
Increment session count - Returns: New User instance with incremented session count, new session ID, and reset pageview count