Sternum iOS SDK
sternum_sdk.h File Reference

Defines the SDK's API. More...

#include "device_type.h"
#include "error_codes.h"
#include "sternum_trace_api.h"

Go to the source code of this file.

Functions

sternum_code_t sternum_sdk_initialize (const char *sternum_url, bool relay_override_device_id, uint64_t sdk_device_definition_id, bool is_production, size_t max_cache_size)
 Initializes the Sternum SDK. More...
 
sternum_code_t sternum_sdk_relay_device_data (const device_type_e device_type, const void *data, size_t size)
 transmit relayed data that was received from a remote device. More...
 
sternum_code_t sternum_sdk_flush (void)
 Flush transmission queue. More...
 
void sternum_sdk_close (void)
 Closes the Sternum SDK. Call initialize to reinitialize. More...
 

Detailed Description

Defines the SDK's API.

Function Documentation

◆ sternum_sdk_close()

void sternum_sdk_close ( void  )

Closes the Sternum SDK. Call initialize to reinitialize.

Note
Call flush before close to prevent data loss
This function blocks until the all resources are released.

◆ sternum_sdk_flush()

sternum_code_t sternum_sdk_flush ( void  )

Flush transmission queue.

Note
This function will block until all pending data is processed and saved to cache.
This function will not ensure a transmission of data to the cloud.
Returns
sternum_code_t

◆ sternum_sdk_initialize()

sternum_code_t sternum_sdk_initialize ( const char *  sternum_url,
bool  relay_override_device_id,
uint64_t  sdk_device_definition_id,
bool  is_production,
size_t  max_cache_size 
)

Initializes the Sternum SDK.

Parameters
sternum_urlyour Sternum dedicated transmission URL.
relay_override_device_idif a remote device that originated the relayed traces cannot have a random a device ID, set to true and the application's device ID will be used.
sdk_device_definition_ida device definition id for traces transmitted from the importing application.
is_productionindicate if the application is in production/development phase.
max_cache_sizedefines the maximum amount of bytes to store on disk when caching traces. Cache is automatically emptied when internet connection is available.
Note
An ADS device ID is automatically generated for the importing application and saved in NSUserDefaults as a private record. The record is removed upon application deletion. For more info please visit https://developer.apple.com/documentation/foundation/nsuserdefaults
The cache file is saved inside the application private storage and is not accessible to other entities. The file is removed upon application deletion. For more info please visit https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW12
The recommended minimum cache size is 65KB to ensure that the biggest protocol payloads can be processed.
Returns
sternum_code_t

◆ sternum_sdk_relay_device_data()

sternum_code_t sternum_sdk_relay_device_data ( const device_type_e  device_type,
const void *  data,
size_t  size 
)

transmit relayed data that was received from a remote device.

Parameters
device_typeeach device type as its own channel for relaying sternum traces. If you are relaying multiple devices in parallel, please make sure to assign each a different device type.
datadata to relay.
sizethe size of the data.
Note
This function does not block.
Returns
sternum_code_t