#apps #reliable #client #api-bindings #signal #telemetry-deck

telemetrydeck-wasm

(unofficial) TelemetryDeck client for fast and reliable libraries and apps using Rust and WebAssembly

3 unstable releases

0.2.0 Feb 16, 2022
0.1.1 Feb 16, 2022
0.1.0 Feb 16, 2022

#1297 in WebAssembly

MIT license

12KB
180 lines

Tests Lint & Format Crate API

TelemetryDeck Client

Client for integrating private analytics in fast and reliable libraries and apps using Rust and WebAssembly

The library provides a wrapper around the TelemetryDeck endpoint for broadcasting signals.

Sending a signal


let client = TelemetryDeck::new("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");

// Signal a type and a user identifier
client.send("addOne", Some("user"), None, None);

// Signal with custom payload parameters
client.send(
  "signalType",
  Some("user identifier"),
  Some(HashMap::from([("key".to_string(), "value".to_string())])),
  None,
);

Session identifier

When an instance of TelemetryDeck is created, it is assigned a session identifier. This identifier persists for all outgoing signals during the lifetime of the instance.

You can reset the session identifier without recreating the client:

client.reset_session(None)

You can also provide your own session identifier:

client.reset_session(Some("my session id".to_string()));

Check the example folder for a working app using Yew.

Disclaimer

This repository is not affiliated with TelemetryDeck.

Dependencies

~9–18MB
~246K SLoC