تُغلّف حزمة @tracio/angular النواة @tracio/sdk وتوفّر بدائيات Angular اصطلاحية: مزوّدًا (provider) تنشره داخل إعدادات تطبيقك، وخدمة مبنية على الإشارات (signals) تحقنها في أي مكان.
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 لقراءة حالة التعريف عبر إشارات (signals) للقراءة فقط:
| العنصر | النوع | الوصف |
|---|---|---|
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 الأساسية التي تُبنى عليها الخدمة