Manual integration
Pre API 2.0
NotificationCenter.default.addObserver(forName: Smartlook.dashboardSessionURLChanged, object: nil, queue: nil) 
{ (note) in
  if let currentSessionUrl = Smartlook.getDashboardSessionURL(withCurrentTimestamp: false) {
 
  	// process the session url change
  }
}
NotificationCenter.default.addObserver(forName: Smartlook.dashboardVisitorURLChanged, object: nil, queue: nil) 
{ (note) in
  if let currentVisitorUrlString = Smartlook.getDashboardVisitorURL()?.absoluteString {
  
    // process the user url change
  }
}API 2.0
Use URL changes notifications to amend other tools data with the respective Smartlook links.
NotificationCenter.default.addObserver(forName: Session.urlDidChangeNotification, object: nil, queue: nil) 
{ notification in
	if let smartlook = notification.object as? Smartlook,
 		 let sessionUrl = smartlook.user.session.url {
      	// process the URL change
  }
}
NotificationCenter.default.addObserver(forName: User.urlDidChangeNotification, object: nil, queue: nil) 
{ notification in
	if let smartlook = notification.object as? Smartlook {
    let visitorUrl = smartlook.user.url
    // process the URL change
  }
}User listener documentation.
Session listener documentation.
Automatic integrations
Automatic integrations are no longer supported. Integration into "tools" that were supported by "automatic integrations" is described in the following documents:
