1. Home
  2. Docs
  3. Congether SDK and API
  4. Congether SDK
  5. Understanding the SDKs

Understanding the SDKs

Beside the direct use of the Endpoint API, there will be a few SDKs for different frameworks and languages available.

These SDKs shouldn’t simply implement just the API for the client, but also implement some more features, like device-id-matching, etc.

Congether File Management

Congether will create manifest-informations for each individual installation of your application. This informations can contain for example device-identifier or requires access to privacy-settings.

All this informations must be persisted on the local device. To create a universal and platform-independent way to do this, the so called “Congether-File” was created. Each Congether-SDK with access to the file-system (e.g. .NET or NodeJS) will use a directory called “Congether-File-Directory”, which is stored in following file-system-directory.

Windows: C:\ProgramData\congether
Linux/Unix/Mac OS: /usr/share/congether

This directory will contain a subdirectory for each application with the application-identifier as it’s name. In this directory, there will be stored a “.congether”-file, which contains several application-level informations (e.g. Installation-ID, privacy-policy, etc.). 
The directory also contains a file ‘.manifest’, which is the latest manifest, which has been received from the Congether Endpoint-API. 

The root-directory (e.g. C:\ProgramData\congehter) will also contain a “.congether”-file, in which the unique device-id will be stored.

Sharing informations between applications

The device-id is shared between several installations and applications, which is using Congether. This means, each SDK with a file-directory-access, has to read the “.congether”-files, for the device (root-directory) and the application (application-directory).

By sharing the device-id and read it from the specific Congether-File, you are able to have an extended device-management.

Caching

The second part of the SDKs is caching. The desktop-SDKs will try to cache for example the manifests and also the Tracer-Events, you’re trying to send to Congether Tracer. This will help to reduce the amount of network- and service-requests. It will also make it possible to write events offline at send them, by the time your network is available.

Privacy Pre-Handling

The SDKs manages and stores the selected user-setting, which privacy-mode is active. Therefore, the SDKs should if possible do a privacy pre-handling before any request to fill the “Endpoint-Info” properly. 

If an SDK doesn’t support Privacy Pre-Handling, each request and every “Endpoint-Info” will be handled by the given privacy-mode. This will be performed immediately at the Congether Endpoint-API before the request will be processed.

Following requirements describe a accurate privacy pre-handling.

Privacy Mode: Accepted

No actions required

Privacy Mode: Pseudonymization

  • Remove the Device-ID
  • Cut the Hostname (if available) to maximum two (2) characters

Privacy Mode: Anonymize

  • Remove the Installation-ID
  • Remove the Device-ID
  • Clear the Hostname

Was this article helpful to you? Yes No

How can we help?