Saltar al contenido principal

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
precaución

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​

app.config.ts
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​

MiembroDescripció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.

TraitPropiedad en Amplitude
email, first_name, last_name, phone, username, created_at, roleMismo nombre
full_namename
companyId (argumento)company_id (como texto)
company_name, company_country, company_phone, planMismo 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​