React Native
React Native Functions
Connection Setup
initTerra
Initializes Terra for the given developer ID and optional reference ID.
tsxCopy codeexport function initTerra(devId: String, referenceId?: String): Promise<SuccessMessage>
devId
: The developer ID used for initialization.referenceId
: An optional reference ID.Returns: A
Promise<SuccessMessage>
indicating whether the initialization was successful.
initConnection
Initializes a connection using the provided authentication token.
tsxCopy codeexport function initConnection(token: String): Promise<SuccessMessage>
token
: The authentication token generated by your backend.Returns: A
Promise<SuccessMessage>
indicating whether the connection initialization was successful.
Disconnection
disconnect
Disconnects from the specified connection types.
tsxCopy codeexport function disconnect(connections: Connections): Promise<SuccessMessage>
connections
: The connection types to disconnect from.Returns: A
Promise<SuccessMessage>
indicating whether the disconnection was successful.
getUserId
Retrieves the user ID associated with the device.
tsxCopy codeexport function getUserId(): Promise<GetUserId>
Returns: A
Promise<GetUserId>
containing the user ID and success status.
Device Scanning
startDeviceScan
Starts a device scan for the specified connection types.
tsxCopy codeexport function startDeviceScan(
connections: Connections,
useCache: Boolean = false,
showWidgetIfCacheNotFound: Boolean = false
): Promise<SuccessMessage>
connections
: The connection types (e.g.,BLE
,WATCH_OS
) for which to scan.useCache
: Whether to use cached devices if available (default:false
).showWidgetIfCacheNotFound
: Whether to show a widget if no cached devices are found (default:false
).Returns: A
Promise<SuccessMessage>
indicating whether the scan was successful.
startDeviceScanWithCallback
Starts a device scan with a callback specific to the platform (iOS or Android).
tsxCopy codeexport function startDeviceScanWithCallback(connections: Connections): Promise<SuccessMessage>
connections
: The connection types to scan for.Returns: A
Promise<SuccessMessage>
indicating whether the scan was successful.
connectDevice
Connects to a specific device by its ID.
tsxCopy codeexport function connectDevice(device: Device): Promise<SuccessMessage>
device
: The device to connect to, which includes an ID and name.Returns: A
Promise<SuccessMessage>
indicating whether the connection was successful.
Data Streaming
startRealtime
Starts real-time data streaming for the specified connections and data types.
tsxCopy codeexport function startRealtime(
connections: Connections,
dataTypes: Array<DataTypes>,
token: String | null = null
): Promise<SuccessMessage>
connections
: The connection types from which to stream data.dataTypes
: The data types to stream (e.g., heart rate, steps).token
: An optional token for authentication (default:null
).Returns: A
Promise<SuccessMessage>
indicating whether real-time data streaming was successfully started.
stopRealtime
Stops real-time data streaming for the specified connections.
tsxCopy codeexport function stopRealtime(connections: Connections): Promise<SuccessMessage>
connections
: The connection types to stop streaming from.Returns: A
Promise<SuccessMessage>
indicating whether the real-time streaming was successfully stopped.
WatchOS Integration
connectWithWatchOS
Establishes a connection with WatchOS.
tsxCopy codeexport function connectWithWatchOS(): Promise<SuccessMessage>
Returns: A
Promise<SuccessMessage>
indicating whether the connection to WatchOS was successful.
Types
SuccessMessage
Represents a success response from various operations.
tsxCopy codeexport type SuccessMessage = {
success: Boolean;
error: String | null;
};
success
: A boolean indicating whether the operation was successful.error
: A nullable string containing error details, if any.
GetUserId
Represents the response from retrieving the user ID.
tsxCopy codeexport type GetUserId = {
success: Boolean;
userId: String | null;
};
success
: A boolean indicating whether the user ID was successfully retrieved.userId
: The user ID, ornull
if it was not found.
Update
Represents an update received from a device.
tsxCopy codeexport type Update = {
ts: String | null;
val: number | null;
type: String | null;
d: Array<number> | null;
};
ts
: The timestamp of the update.val
: The value associated with the update (e.g., heart rate).type
: The data type (e.g., heart rate, steps).d
: An array of values for complex data types (e.g., acceleration).
Device
Represents a device that can be connected to.
tsxCopy codeexport type Device = {
id: String | null;
name: String | null;
type: String;
};
id
: The ID of the device.name
: The name of the device.type
: The type of the device (e.g., BLE, WatchOS).
Enums
Connections
The Connections
enum represents the different connection types available in the Terra SDK.
tsxCopy codeexport enum Connections {
ANT = 'ANT',
BLE = 'BLE',
WEAR_OS = 'WEAR_OS',
WATCH_OS = 'WATCH_OS',
ANDROID = 'ANDROID',
ALL_DEVICES = 'ALL_DEVICES',
APPLE = 'APPLE',
}
DataTypes
The DataTypes
enum represents the different data types that can be streamed from a device.
tsxCopy codeexport enum DataTypes {
HEART_RATE = 'HEART_RATE',
ECG = 'ECG',
STEPS = 'STEPS',
HRV = 'HRV',
CALORIES = 'CALORIES',
LOCATION = 'LOCATION',
DISTANCE = 'DISTANCE',
ACTIVITY = 'ACTIVITY',
ACCELERATION = 'ACCELERATION',
GYROSCOPE = 'GYROSCOPE',
FLOORS_CLIMBED = 'FLOORS_CLIMBED',
STEPS_CADENCE = 'STEPS_CADENCE',
SPEED = 'SPEED',
POWER = 'POWER',
BIKE_CADENCE = 'BIKE_CADENCE',
MET = 'MET',
RR_INTERVAL = 'RR_INTERVAL',
}
Was this helpful?