El paquete @tracio/angular envuelve el núcleo @tracio/sdk y expone primitivas idiomáticas de Angular: un proveedor que inserta en la configuración de su aplicación y un servicio basado en signals que puede inyectar en cualquier parte.
npm install @tracio/angular @tracio/sdk@angular/core (17, 18 o 19) es una peer dependency y se espera que ya esté instalada en su app.
Inserte provideTracio(config) en su ApplicationConfig.providers.
// app.config.tsimport { provideTracio } from "@tracio/angular"export const appConfig: ApplicationConfig = { providers: [provideTracio({ publicKey: "5ca175fc…" })],}Inyecte TracioService para leer el estado de identificación a través de signals de solo lectura:
| Miembro | Tipo | Descripción |
|---|---|---|
visitorId() | Signal<string | null> | El identificador de visitante estable. |
result() | Signal<TracioResult | null> | El resultado de identificación completo. |
error() | Signal<TracioError | null> | El último error, si lo hay. |
isLoading() | Signal<boolean> | Si hay una obtención en curso. |
getVisitorData() | método | (Re)obtiene los datos del visitante de forma imperativa. |
// home.component.tsimport { Component, inject } from "@angular/core"import { TracioService } from "@tracio/angular"@Component({ selector: "app-home", template: `<span>{{ tracio.visitorId() }}</span>` })export class HomeComponent { readonly tracio = inject(TracioService)}Llame a getVisitorData() para diferir o volver a activar la identificación, por ejemplo solo después de que el usuario otorgue su consentimiento.
// app.config.tsimport { provideTracio } from "@tracio/angular"export const appConfig: ApplicationConfig = { providers: [provideTracio({ publicKey: "5ca175fc…" })],}// home.component.tsimport { Component, inject } from "@angular/core"import { TracioService } from "@tracio/angular"@Component({ selector: "app-home", template: `<span>{{ tracio.visitorId() }}</span>` })export class HomeComponent { readonly tracio = inject(TracioService)}@tracio/sdk sobre la que se construye el servicio