3 unstable releases
0.2.0 | Feb 16, 2022 |
---|---|
0.1.1 | Feb 16, 2022 |
0.1.0 | Feb 16, 2022 |
#1297 in WebAssembly
12KB
180 lines
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