Manual integration
Pre API 2.0
// Registering listener
Smartlook.registerIntegrationListener(object : IntegrationListener {
    override fun onSessionReady(dashboardSessionUrl: String) {
        AnalyticsTool.trackSession(dashboardSessionUrl)
    }
    override fun onVisitorReady(dashboardVisitorUrl: String) {
        AnalyticsTool.trackVisitor(dashboardSessionUrl)
    }
})
  
// Unregistering listener
Smartlook.unregisterIntegrationListener()// Registering listener
Smartlook.registerIntegrationListener(new IntegrationListener() {
    @Override
    public void onSessionReady(@NotNull String dashboardSessionUrl) {
        AnalyticsTool.trackSession(dashboardSessionUrl);
    }
    @Override
    public void onVisitorReady(@NotNull String dashboardVisitorUrl) {
        AnalyticsTool.trackVisitor(dashboardSessionUrl);
    }
});
// Unregistering listener
Smartlook.unregisterIntegrationListener();API 2.0
// Register user listener
Smartlook.instance.user.listeners += object : User.Listener {
  override fun onUrlChanged(url: URL) {
    AnalyticsTool.trackUser(url)
  }
}
// Register session listener
Smartlook.instance.user.session.listeners += object : Session.Listener {
  override fun onUrlChanged(url: URL) {
    AnalyticsTool.trackSession(url)
  }
}// Register user listener
Smartlook.getInstance().getUser().getListeners().add(url -> {
    AnalyticsTool.trackUser(url);
});
// Register session listener
Smartlook.getInstance().getUser().getSession().getListeners().add(url -> {
    AnalyticsTool.trackSession(url);
});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:
