telemetrydeck_wasm/
signals.rs

1//! Reserved signal type constants defined by TelemetryDeck
2//!
3//! This module provides pre-defined signal type names for common telemetry events.
4//! Using these constants ensures consistency with the TelemetryDeck platform's
5//! built-in analytics and dashboards.
6//!
7//! # Example
8//!
9//! ```no_run
10//! use telemetrydeck_wasm::{TelemetryDeck, signals};
11//!
12//! let client = TelemetryDeck::new("YOUR-APP-ID");
13//!
14//! // Send a session started signal
15//! client.send(signals::session::STARTED, None, None, None, None);
16//!
17//! // Send a purchase completed signal
18//! client.send(signals::purchase::COMPLETED, Some("user123"), None, None, Some(49.99));
19//! ```
20//!
21//! # Available Signal Categories
22//!
23//! - `session` - Session lifecycle events
24//! - `navigation` - Navigation and routing events
25//! - `purchase` - Purchase and monetization events
26//! - `acquisition` - User acquisition and onboarding events
27//! - `signal` - General signal metadata
28
29/// Session-related signals
30pub mod session {
31    /// Signal sent when a new session starts
32    pub const STARTED: &str = "TelemetryDeck.Session.started";
33}
34
35/// Navigation-related signals
36pub mod navigation {
37    /// Signal sent when navigation path changes
38    pub const PATH_CHANGED: &str = "TelemetryDeck.Navigation.pathChanged";
39}
40
41/// Purchase-related signals
42pub mod purchase {
43    /// Signal sent when a purchase is completed
44    pub const COMPLETED: &str = "TelemetryDeck.Purchase.completed";
45    /// Signal sent when a free trial starts
46    pub const FREE_TRIAL_STARTED: &str = "TelemetryDeck.Purchase.freeTrialStarted";
47    /// Signal sent when a user converts from trial to paid
48    pub const CONVERTED_FROM_TRIAL: &str = "TelemetryDeck.Purchase.convertedFromTrial";
49}
50
51/// Acquisition-related signals
52pub mod acquisition {
53    /// Signal sent when a new install is detected
54    pub const NEW_INSTALL_DETECTED: &str = "TelemetryDeck.Acquisition.newInstallDetected";
55    /// Signal sent when a lead is started
56    pub const LEAD_STARTED: &str = "TelemetryDeck.Acquisition.leadStarted";
57    /// Signal sent when a user is acquired
58    pub const USER_ACQUIRED: &str = "TelemetryDeck.Acquisition.userAcquired";
59    /// Signal sent when a lead converts
60    pub const LEAD_CONVERTED: &str = "TelemetryDeck.Acquisition.leadConverted";
61}
62
63/// General signal parameters
64pub mod signal {
65    /// Parameter for signal duration in seconds
66    pub const DURATION_IN_SECONDS: &str = "TelemetryDeck.Signal.durationInSeconds";
67}