Pakiet @tracio/angular opakowuje rdzeniowy @tracio/sdk i udostępnia idiomatyczne prymitywy Angulara: provider, który rozwijasz do konfiguracji aplikacji, oraz oparty na sygnałach serwis, który możesz wstrzyknąć w dowolnym miejscu.
npm install @tracio/angular @tracio/sdk@angular/core (17, 18 lub 19) jest peer dependency i zakłada się, że jest już zainstalowany w Twojej aplikacji.
Rozwiń provideTracio(config) do ApplicationConfig.providers.
// app.config.tsimport { provideTracio } from "@tracio/angular"export const appConfig: ApplicationConfig = { providers: [provideTracio({ publicKey: "5ca175fc…" })],}Wstrzyknij TracioService, aby odczytywać stan identyfikacji przez sygnały tylko do odczytu:
| Element | Typ | Opis |
|---|---|---|
visitorId() | Signal<string | null> | Stabilny identyfikator odwiedzającego. |
result() | Signal<TracioResult | null> | Pełny wynik identyfikacji. |
error() | Signal<TracioError | null> | Ostatni błąd, jeśli wystąpił. |
isLoading() | Signal<boolean> | Czy trwa pobieranie danych. |
getVisitorData() | metoda | (Ponowne) imperatywne pobranie danych odwiedzającego. |
// 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)}Wywołaj getVisitorData(), aby odroczyć lub ponownie wyzwolić identyfikację — na przykład dopiero po tym, jak użytkownik wyrazi zgodę.
// 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, na którym opiera się serwis