AmplitudeProvider
Paquete: @tiendana/ngx-core/tracking
Implementación de TrackingProvider sobre @amplitude/analytics-browser. Se construye con la API key del proyecto y se pasa a provideTracking.
Características
✅ Autocaptura de sesiones - Activada
✅ Sin duplicados - pageViews, formInteractions y fileDownloads de Amplitude están desactivados porque el tracking propio ya los cubre
✅ Contexto de usuario y empresa - setContext mapea los rasgos habituales a propiedades de usuario
Instalación
El SDK es una peer dependency opcional de @tiendana/ngx-core. Solo es opcional en aplicaciones que nunca importan @tiendana/ngx-core/tracking; si importas ese punto de entrada, instálalo siempre:
npm install @amplitude/analytics-browser
El archivo del proveedor importa el SDK de Amplitude. Instálalo (>=2.x) en cualquier aplicación que importe desde @tiendana/ngx-core/tracking, de lo contrario el build falla al no resolver el módulo.
Uso
import { provideTracking, AmplitudeProvider } from '@tiendana/ngx-core/tracking';
import { environment } from '../environments/environment';
provideTracking({
enabled: environment.production,
providers: environment.amplitude_api_key
? [new AmplitudeProvider(environment.amplitude_api_key)]
: [],
})
La condición sobre la API key permite desplegar sin ella: sin proveedores, el servicio no envía nada.
API
| Miembro | Descripción |
|---|---|
new AmplitudeProvider(apiKey) | Crea el proveedor con la API key del proyecto de Amplitude |
name | 'amplitude' |
initialize() | Llama a amplitude.init con autocaptura de sesiones y espera a que termine |
track(event, properties?) | Envía el evento con amplitude.track |
page(path, module?, feature?) | Envía un evento PageView con module y feature cuando existen. La ruta no se incluye en el payload |
identify(userId, traits?) | Fija el userId y, si hay traits, los registra como propiedades de usuario |
setContext(userId, companyId, traits?) | Fija el userId y las propiedades de usuario y empresa |
reset() | Llama a amplitude.reset |
Propiedades de setContext
Los siguientes traits se traducen a propiedades de usuario de Amplitude. Cualquier otra clave se registra con su mismo nombre.
| Trait | Propiedad en Amplitude |
|---|---|
email, first_name, last_name, phone, username, created_at, role | Mismo nombre |
full_name | name |
companyId (argumento) | company_id (como texto) |
company_name, company_country, company_phone, plan | Mismo nombre |
Los traits conocidos de la tabla solo se registran si su valor es truthy (un 0 o false se omite). company_id se registra siempre. Cualquier otra clave se registra tal cual, aunque su valor sea vacío.
Ver También
TrackingService: configuración y proveedores propiostdnTrack: registro declarativo de clics