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: