TomTom GO Fleet SDK

Sample Code:
         // Get an instance of TomTom GO Fleet Client
         val ttGoFleetClient = TomTomGoFleetClient.getClient(applicationContext)
 
         // Connect to TomTom GO Fleet app
         ttGoFleetClient.connect(PartnerInfo("name", "phone number", "email", "website url"), object : ConnectionStatusListener {
             override fun onConnectionStatusChanged(status: Int) {
                 Log.d("Activity", "ConnectionStatus Changed to $status")
             }
          })
 
         // Get an instance of AuthenticationManager
         val authenticationManager = ttGoFleetClient.getAuthenticationManager()
 
         // Add authenticationStatus listener
         authenticationManager?.addAuthenticationStatusListener(
             object : AuthenticationStatusListener {
                 override fun onAuthenticationStatusChanged(status: Int) {
                     Log.d("Activity", "Authentication status changed to $status")
                 }
         })
 
 
         // If partner app already has a valid token then it can use setToken() directly. However,
         // if something went wrong, and requires end-user to login partner app, it should
         // call requestUserLogin() to notify GO Fleet app.
 
         if (hasValidToken()) {
             // Set token
             authenticationManager?.setToken("THIS_IS_A_TOKEN")
         } else {
             // Request user login
             authenticationManager?.requestUserLogin()
         }

See: Description

Packages 
Package Description
com.tomtom.ttgofleet.authsdk