Integrate our SDK into your app

Application class

Pass the application context to the `AssistSession` in the `onCreate` of the base application.

class TestApplication: Application() {
    override fun onCreate() {
        //Provide the application context to the SDK

MainActivity class

Start the `AssistSession` in the activity and set up all the necessary lifecycle methods as shown below.

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

        AssistSession.INSTANCE.onCreate(this, TestCallbacks())
        if (!AssistSession.INSTANCE.isSessionAlive()) {
                //Required, Set the SDK Token to be used for validation
                //Optional, Set the customer details
                .setCustomerDetails("John Doe","")
                //Optional, Set whether a Bubble/FloatingHead should be shown when app is in background
                //Optional, Set the foreground service notification to be shown during a session
                //Optional, Set default quality to start the session with
                //Optional, Set whether the session should be started immediately,
                //Default is true, if set to false then session needs to be started in the callbacks
                //Optional, Set whether remote control (if supported for the device) should be start as soon as session starts,
                //Default is true, if set to false then remote control will need to be started in the callbacks
                //Optional, Set whether the addon used for Remote Control should be downloaded on session start (assuming it's available in the playstore)
                //Required, Start the session by passing the session key, the activity to open when notification(or bubble) is clicked & the icon to be used in notification(and bubble)
                .start(sessionKey,, R.drawable.ic_launcher_foreground)

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        data?.let {
            AssistSession.INSTANCE.onActivityResult(requestCode, resultCode, it)

    override fun onStop() {

    override fun onResume() {

    override fun onBackPressed() {
        //Handle what happens when back button is pressed
        if (!AssistSession.INSTANCE.isSessionAlive()) {
        } else {