Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fingerprint.com/llms.txt

Use this file to discover all available pages before exploring further.

The Fingerprint Angular SDK integrates Fingerprint into Angular applications. It supports all capabilities of the JavaScript agent including a built-in caching mechanism. See the Angular quickstart for a step-by-step guide to get started.

How to install

Add @fingerprint/angular as a dependency to your application via npm, yarn or pnpm.
npm install @fingerprint/angular
Add provideFingerprint to your application’s providers. You need to specify your public API key and other configuration options based on your chosen region and active integration.
TypeScript
// src/app/app.config.ts
// ...other imports
import { provideFingerprint } from '@fingerprint/angular'

export const appConfig: ApplicationConfig = {
  providers: [
    // ...other config options
    provideFingerprint({
      startOptions: {
        apiKey: 'PUBLIC_API_KEY',
        endpoints: 'https://metrics.yourwebsite.com',
        // region: "eu"
      },
    }),
  ],
}
Inject the FingerprintService in your component’s constructor. Now you can identify visitors using the getVisitorData() method from the service.
TypeScript
// src/app/home/home.component.ts
import { Component } from '@angular/core'
import { FingerprintService, Fingerprint } from '@fingerprint/angular'

@Component({
  selector: 'app-home',
  template: `
    <div>
      <button (click)="onIdentifyButtonClick()">Identify</button>
      <p>VisitorId: {{ visitorId }}</p>
    </div>
  `,
})
export class HomeComponent {
  constructor(
    private fingerprintService: FingerprintService
  ) {}

  visitorId?: string = 'Press "Identify" button to get visitorId'
  result: null | Fingerprint.GetResult = null

  async onIdentifyButtonClick(): Promise<void> {
    const data = await this.fingerprintService.getVisitorData()
    this.visitorId = data.visitor_id
    this.result = data
  }
}

Documentation

You can find the full documentation in the official GitHub repository. The repository also contains an example app demonstrating the usage of the library.

Migration guide for Angular SDK v3.0.0

Version 3.0.0 of the Angular SDK switches from JavaScript agent v3 to JavaScript agent v4.
  1. Install a new version of the package:
npm install @fingerprint/angular
  1. Update your module import and configuration:
The default caching strategy has changed from sessionStorage caching to no caching by default, aligned with the underlying JavaScript agent v4 default. To preserve the previous behavior, explicitly configure caching in the module options (see example below).
Change module imports and configuration
import {
  FingerprintjsProAngularModule,
  FingerprintJSPro
} from '@fingerprintjs/fingerprintjs-pro-angular'
import { provideFingerprint } from '@fingerprint/angular'

FingerprintjsProAngularModule.forRoot({
  loadOptions: {
    apiKey: 'PUBLIC_API_KEY',
    endpoint: [
      'https://metrics.yourwebsite.com',
      FingerprintJSPro.defaultEndpoint
    ],
    scriptUrlPattern: [
      'https://metrics.yourwebsite.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js',
      FingerprintJSPro.defaultScriptUrlPattern
    ],
  },
})
provideFingerprint({
  startOptions: {
    apiKey: 'PUBLIC_API_KEY',
    endpoints: 'https://metrics.yourwebsite.com',
    cache: {
      storage: 'sessionStorage',
      duration: 3600,
    },
  },
})
  1. Update service usage and result field names:
Update service usage
import {
  FingerprintjsProAngularService,
  ExtendedGetResult,
  GetResult,
} from '@fingerprintjs/fingerprintjs-pro-angular'
import { FingerprintService } from '@fingerprint/angular'

// Update constructor injection
constructor(private fingerprintService: FingerprintjsProAngularService) {} 
constructor(private fingerprintService: FingerprintService) {} 

const { visitorId, requestId } = await this.fingerprintService.getVisitorData()
console.log(visitorId, requestId)
const { visitor_id, event_id } = await this.fingerprintService.getVisitorData()
console.log(visitor_id, event_id)
The v4 agent uses snake_case field names. requestId is now event_id, and visitorId is now visitor_id. The clearCache() method has been removed from the service - if you need to clear the cache, interact directly with the storage you configured.