Android (Kotlin)
Android Functions
Initializer
class TerraRT(
private var devId: String,
private var context: Context,
private var referenceId: String?,
completion: (Boolean) -> Unit,
)devId: your developer IDreferenceId: the reference_id for the end usercontext: the [android.app.Activity] context which you initialise this class inreferenceId: the user ID associated to the user in your systemcompletion: a completion function depicting if the initialisation was successful or not
Connection Setup
initConnection
Initialise a connection with Terra's backend for the device
fun initConnection(token: String, callback: (Boolean) -> Unit)token: An authentication token that should be generated from the backend.callback: A function called when the initialization is complete with a boolean indicating success.
getUserId
A synchronous function that returns the current device's Terra user ID.
fun getUserId(): String?Returns
String?: The user ID. If none exists, returnsnull.
disconnect
Disconnects from a connection.
fun disconnect(type: Connections)type: Enum representing the connection type to disconnect.
Device Connection Management
startDeviceScan
Starts a device scan and allows the user to connect to a device.
fun startDeviceScan(
type: Connections,
useCache: Boolean = false,
showWidgetIfCacheNotFound: Boolean = true,
callback: (Boolean) -> Unit = {_ -> }
)
// second possible signature
fun startDeviceScan(
type: Connections,
deviceCallback: (Boolean) -> Unit = {_ -> }
)type: The connection type you're trying to connect to.useCache: Iftrue, uses previously connected devices (default isfalse).showWidgetIfCacheNotFound: if true, shows the connection widget if cached device is not foundcallback: Called with a boolean after the connection is established.deviceCallback: callback function called with [Device] object whenever a device is found
getConnectedDevices
Returns a set of devices that are currently connected
fun getConnectedDevices(): Set<ConnectedDevice>Returns
Set<ConnectedDevice>, the set of currently connected devices
Data Streaming
startRealtime
Starts streaming data for a given connection type.
fun startRealtime(
type: Connections,
dataTypes: Set<DataTypes>,
token: String? = null,
updateHandler: ((Update) -> Unit)? = null,
connectionCallback: ((Boolean) -> Unit)? = {_ -> }
)
// alternative signature, used for streaming data locally without
// sending data to Terra Websocket API
fun startRealtime(
type: Connections,
dataTypes: Set<DataTypes> = setOf(),
updateHandler: (Update) -> Unit
)type: Enum representing the connection type.token: The token used for verification to connect to Terra’s API.dataTypes: Enum representing the data types to stream.connectionCallback: Called when a websocket connection is either successful or not.updateHandler: Called when new updates are available from the device.
stopRealtime
Stops streaming for a given connection type.
fun stopRealtime(type: Connections)type: Enum representing the connection type to stop streaming for.
Was this helpful?