@tracio/angularパッケージはコアの@tracio/sdkをラップし、Angularらしいプリミティブを提供します。アプリケーション設定にスプレッドするproviderと、どこにでもインジェクトできるsignalベースのserviceです。
npm install @tracio/angular @tracio/sdk@angular/core(17、18、または19)はpeer dependencyであり、アプリにすでにインストールされていることが前提です。
provideTracio(config)をApplicationConfig.providersにスプレッドします。
// app.config.tsimport { provideTracio } from "@tracio/angular"export const appConfig: ApplicationConfig = { providers: [provideTracio({ publicKey: "5ca175fc…" })],}TracioServiceをインジェクトして、読み取り専用のsignalを通じて識別状態を読み取ります:
| メンバー | 型 | 説明 |
|---|---|---|
visitorId() | Signal<string | null> | 安定した訪問者識別子。 |
result() | Signal<TracioResult | null> | 完全な識別結果。 |
error() | Signal<TracioError | null> | 直近のエラー(存在する場合)。 |
isLoading() | Signal<boolean> | 取得が進行中かどうか。 |
getVisitorData() | メソッド | 訪問者データを命令的に(再)取得します。 |
// 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)}getVisitorData()を呼び出して、識別を延期または再実行します。たとえばユーザーが同意を付与した後にのみ実行するといった用途です。
// 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 API