               config: Config? = nil,
               device: UIDeviceType = UIDevice.currentDevice(),
               loggedInUser: User? = nil,
-              screen: UIScreenType = UIScreen.mainScreen()) {
+              screen: UIScreenType = UIScreen.mainScreen(),
+              distinctId: String = (UIDevice.currentDevice().identifierForVendor ?? NSUUID()).UUIDString) {
     self.bundle = bundle
     self.client = client
     self.config = config
     self.device = device
     self.loggedInUser = loggedInUser
     self.screen = screen
+    self.distinctId = distinctId
   }
 
   /// Call when the activities screen is shown.

    }
    props["user_logged_in"] = loggedInUser != nil
    props["user_country"] = self.loggedInUser?.location?.country ?? self.config?.countryCode

    return props
  }

// swiftlint:disable file_length
// swiftlint:disable type_body_length
import CoreTelephony
import KsApi
import PassKit
import Prelude
import UIKit

public final class Koala {
  internal static let DeprecatedKey = "DEPRECATED"
