# @fingerprintjs/fingerprintjs-pro-angular 中文文档

规范地址：https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/

版本：2\.1\.0
npm 元数据更新时间：2025-12-02T16:11:56.154Z
中文译文更新时间：2026-11-14T18:49:55.564Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fingerprintjs/fingerprintjs-pro-angular
原文对照：https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/?lang=original
项目主页：https://github.com/fingerprintjs/fingerprintjs-pro-angular#readme

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：71 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@angular/common \>=15\.0\.0，@angular/core \>=15\.0\.0
- 首次发布：2022-06-03T09:53:00.688Z
- 最新版本发布：2025-12-02T16:11:55.913Z
- 近 30 天下载量：10406（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 1 个）

## 中文简介

指纹JS 原角 SDK

## 安装

```sh
npm install @fingerprintjs/fingerprintjs-pro-angular
```

也可以使用：`pnpm add @fingerprintjs/fingerprintjs-pro-angular`、`yarn add @fingerprintjs/fingerprintjs-pro-angular`、`bun add @fingerprintjs/fingerprintjs-pro-angular`

## README

[![Fingerprint logo](https://raw.githubusercontent.com/fingerprintjs/fingerprint-pro-server-api-go-sdk/main/res/logo_dark.svg)](https://fingerprint.com/)

 [![CI badge](https://github.com/fingerprintjs/fingerprintjs-pro-angular/actions/workflows/ci.yml/badge.svg)](https://github.com/fingerprintjs/fingerprintjs-pro-angular/actions/workflows/ci.yml)[![coverage](https://fingerprintjs.github.io/fingerprintjs-pro-angular/coverage/badges.svg) ](https://fingerprintjs.github.io/fingerprintjs-pro-angular/coverage/)[![Current NPM version](https://img.shields.io/npm/v/@fingerprintjs/fingerprintjs-pro-angular.svg) ](https://www.npmjs.com/package/@fingerprintjs/fingerprintjs-pro-angular)[![Monthly downloads from NPM](https://img.shields.io/npm/dm/@fingerprintjs/fingerprintjs-pro-angular.svg) ](https://www.npmjs.com/package/@fingerprintjs/fingerprintjs-pro-angular)[![MIT license](https://img.shields.io/:license-mit-blue.svg) ](https://opensource.org/licenses/MIT)[![Discord server](https://img.shields.io/discord/852099967190433792?style=logo&label=Discord&logo=Discord&logoColor=white) ](https://discord.gg/39EpE2neBg)[![Documentation](https://img.shields.io/badge/-Documentation-green)](https://fingerprintjs.github.io/fingerprintjs-pro-angular/)

# 指纹

指纹 Pro Angular SDK 是方便整合的方法 **[指纹 Pro](https://fingerprint.com/)** 输入您的角应用程序。 见 [`src` 文件夹](https://github.com/fingerprintjs/fingerprintjs-pro-angular/tree/main/src) 一个完整的用法例子.

## 目录

-   [所需资源](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-requirements)
-   [安装](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-installation)
-   [开始](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-getting-started)
-   [藏匿战略](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-caching-strategy)
-   [文档](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-documentation)
-   [支助和反馈](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-support-and-feedback)
-   [许可证](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-license)

## 所需资源

需要下列依赖关系:

-   类型脚本 QQ4.6
-   节点16+
-   角 15+ 单相

这个软件包是商业的 [指纹平台](https://fingerprint.com/)。它与可用源不相容 [指纹JS库](https://github.com/fingerprintjs/fingerprintjs)。学习更多关于 [指纹和指纹之间的区别](https://fingerprint.com/github/)。 。 。 .

## 安装

使用 [无](https://npmjs.org/)数字 :

```sh
npm install @fingerprintjs/fingerprintjs-pro-angular
```

使用 [线条](https://yarnpkg.com/)数字 :

```sh
yarn add @fingerprintjs/fingerprintjs-pro-angular
```

## 开始

为了识别访客,你需要一个指纹 Pro账户(你可以) [免费报名](https://dashboard.fingerprint.com/signup/)) (中文(简体) ). 要得到你的 API 密钥并开始,看看 [文档中的快速启动指南](https://dev.fingerprint.com/docs/quick-start-guide)。 。 。 .

1.  添加 `FingerprintjsProAngularModule.forRoot()` 到您的根应用程序模块中的导入部分,然后通过 `loadOptions` 配置对象。 您可以指定多个配置选项。 设置 a [区域](https://dev.fingerprint.com/docs/regions) 如果您在注册时选择了非全球区域。 设定 `endpoint` 财务报告和审定财务报表 `scriptUrlPattern` 如果您正在使用 [我们的代理集成之一 提高准确性](https://dev.fingerprint.com/docs/protecting-the-javascript-agent-from-adblockers) 游客身份认证的有效性. 更多信息:其他 [为 Root () 参数](https://npmcn.com/package/%40fingerprintjs/fingerprintjs-pro-angular/#readme-fingerprintjsproangularmoduleforroot-props) 见下文.

```javascript
import { NgModule } from '@angular/core'
import { FingerprintjsProAngularModule, FingerprintJSPro } from '@fingerprintjs/fingerprintjs-pro-angular'

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    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,
        ],
        // region: "eu"
      },
    }),
  ],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}
```

2.  弹出 `FingerprintjsProAngularService` 在您的组件的构造器。 现在你可以使用 `getVisitorData()` 方法.

```typescript
import { Component } from '@angular/core'
import { FingerprintjsProAngularService } from '@fingerprintjs/fingerprintjs-pro-angular'

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css'],
})
export class HomeComponent {
  constructor(private fingerprintjsProAngularService: FingerprintjsProAngularService) {}
  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  visitorId = 'Press "Identify" button to get visitorId'
  extendedResult: null | ExtendedGetResult | GetResult = null

  async onIdentifyButtonClick(): Promise<void> {
    const data = await this.fingerprintjsProAngularService.getVisitorData()
    //  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    this.visitorId = data.visitorId
    this.extendedResult = data
  }
}
```

## 带有 Angular Universal 的服务器侧渲染( SSR)

库可与Angular Universal一起使用. 记住访客身份只在浏览器中是可能的,所以您的访客身份代码只应运行客户端. 详情见执行实例.

## 链接和标记信息

这个 `visitorId` 由指纹识别提供,与您已经了解的用户信息相结合,例如账户ID,订单ID等,尤其有用. 更多地了解《公约》的各种应用 `linkedId` 财务报告和审定财务报表 `tag`,参见 [链接和标记信息](https://dev.fingerprint.com/docs/tagging-information)。 。 。 .

将你的数据与访问者身份相连接 `linkedId` 或者说 `tag` 选项对象的参数 `useVisitorData()` 钩子或 `getData` 函数 :

```ts
// ...

import { Component } from '@angular/core'
import { FingerprintjsProAngularService } from '@fingerprintjs/fingerprintjs-pro-angular'

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css'],
})
export class HomeComponent {
  constructor(private fingerprintjsProAngularService: FingerprintjsProAngularService) {}

  async onIdentifyButtonClick(): Promise<void> {
    const data = await this.fingerprintjsProAngularService.getVisitorData({
      linkedId: 'user_1234',
      tag: {
        userAction: 'login',
        analyticsId: 'UA-5555-1111-1',
      },
    })

    // ...
  }
}
```

## 藏匿战略

指纹 Pro使用费按API呼叫计费. 为了避免不必要的API呼叫 [缓存识别结果](https://dev.fingerprint.com/docs/caching-visitor-information)。默认情况下, SDK 使用 `sessionStorage` 到缓存结果.

-   指定 `cacheLocation` 编辑 `FingerprintjsProAngularModule.forRoot` 用于存储结果的道具 `memory` 或者说 `localStorage`启用 `none` 完全禁用缓存.
-   指定 `cache` 编辑 `FingerprintjsProAngularModule.forRoot` 使用您的自定义缓存执行的道具 。 详情见 [创建自定义缓存](https://github.com/fingerprintjs/fingerprintjs-pro-spa#creating-a-custom-cache) 在指纹 Pro SPA 寄存器中(这个 SDK 使用的下等指纹库).
-   过 `{ignoreCache: true}` 页:1 `getVisitorData()` 函数以忽略特定 API 调用时的缓存结果.

> \[注\] 如果您使用来自 [`extendedResult`](https://dev.fingerprint.com/reference/get-function#extendedresult)注意你的隐蔽策略. 一些领域,例如, `ip` 或者说 `lastSeenAt`,可能会随着时间而改变 同一访客。 使用 `getVisitorData({ ignoreCache: true })` 以获取最新的识别结果.

## 文档

这个库在引擎盖下使用指纹Pro JavaScript代理. 见我们的文件全文 [JavaScript 代理 API 引用](https://dev.fingerprint.com/reference/javascript-agent)联合国

### `FingerprintjsProAngularModule`

该模块只是初始化了指纹 Pro JS代理 带有负载选项,配置缓存策略,并提供 `FingerprintjsProAngularService` 转编.

#### `FingerprintjsProAngularModule.forRoot` 道具

`loadOptions: FingerprintJS.LoadOptions`

指纹JS JS Pro代理商的选项 `load()` 方法。 选项 [代理初始化属性](https://dev.fingerprint.com/reference/load-function#load-options)。 。 。 .

`cacheLocation?: CacheLocation`

定义客户端应当使用的内置缓存机制 。 缓存选项遵循 [指纹- pro- spa 存储器](https://github.com/fingerprintjs/fingerprintjs-pro-spa#caching)。 。 。 .

`cache?: ICache`

自定义缓存执行 。 优先于 `cacheLocation` 属性。 缓存选项遵循 [指纹- pro- spa 存储器](https://github.com/fingerprintjs/fingerprintjs-pro-spa#caching)。 。 。 .

`cacheTimeInSeconds?: number`

数据存储在缓存中的秒数。 不能超过86 400(24h),因为缓存数据超过24小时会对识别准确性产生不利影响. 缓存选项遵循 [指纹- pro- spa 存储器](https://github.com/fingerprintjs/fingerprintjs-pro-spa#caching)。 。 。 .

`cachePrefix?: string`

自定义本地Storage和会话Storage缓存密钥的前缀 。 如果 `cache` 提供。 缓存选项遵循 [指纹- pro- spa 存储器](https://github.com/fingerprintjs/fingerprintjs-pro-spa#caching)。 。 。 .

### `FingerprintjsProAngularService` 方法

#### `getVisitorData(ignoreCache?: boolean, options?: GetOptions<TExtended>)`

这种方法与指纹JS Pro API一起执行识别请求. 返回对象包含关于装入状态、错误和 [访客](https://dev.fingerprint.com/reference/get-function#get-response)。 。 。 .

-   `getOptions: GetOptions<TExtended>` 参数遵循指纹JS Pro的参数 [`get` 函数](https://dev.fingerprint.com/reference/get-function#get-options)。 。 。 .
-   `ignoreCache: boolean` - 准备 `true` 总是向 API 提出请求,即使数据存在于缓存中.

#### `clearCache`

为当前缓存策略清除缓存.

## 解析应用程序

此寄存器包含一个实例 Angular 应用程序 。 要在当地运行演示 :

1.  用 Clone 复制存储器 `git clone git@github.com:fingerprintjs/fingerprintjs-pro-angular.git`。 。 。 .
2.  在根文件夹内运行 `pnpm install` 以安装依赖.
3.  创建 Dev 环境文件 `cp src/environments/environment.ts src/environments/environment.dev.ts`内部替换 `FingerprintJS Pro public key` 用你的公用钥匙.
4.  运行 `pnpm generate:version` 创建 SDK 版本文件.
5.  运行 `pnpm build` 用于构建SDK包.
6.  运行 `pnpm start` 以启动演示应用程序.

该应用程序将在http://localhost:4200上启动.

## 支助和反馈

提问或提供反馈,使用 [问题](https://github.com/fingerprintjs/fingerprintjs-pro-angular/issues)如果您需要私人支援,请发电子邮件至 `oss-support@fingerprint.com`。如果您想有一个类似的角包装器,用于 [来源可用指纹JS](https://github.com/fingerprintjs/fingerprintjs),考虑在主要方面创建一个问题 [指纹JS仓库](https://github.com/fingerprintjs/fingerprintjs/issues)。 。 。 .

## API 参考

见全 [生成 API 引用](https://fingerprintjs.github.io/fingerprintjs-pro-angular/docs)。 。 。 .

## 许可证

这个项目根据麻省理工学院的许可证获得许可。 见 [自由主义](https://github.com/fingerprintjs/fingerprintjs-pro-angular/blob/main/LICENSE) 需要更多信息的文件.

## 常见问题

### @fingerprintjs/fingerprintjs-pro-angular 是什么？

指纹JS 原角 SDK

### 如何安装 @fingerprintjs/fingerprintjs-pro-angular？

在项目目录运行 npm install @fingerprintjs/fingerprintjs-pro-angular，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/common（\>=15\.0\.0）、@angular/core（\>=15\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fingerprintjs/fingerprintjs-pro-angular 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fingerprintjs/fingerprintjs-pro-angular 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @fingerprintjs/fingerprintjs-pro-angular 可以商用吗？

@fingerprintjs/fingerprintjs-pro-angular 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fingerprintjs/fingerprintjs-pro-angular 的下载量有多少？

根据 npm 官方下载统计，@fingerprintjs/fingerprintjs-pro-angular 在 2026/10/15 – 2026/11/13 这 30 天内被下载 10,406 次，日均约 347 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fingerprintjs/fingerprintjs-pro-angular 还在维护吗？

最新版本 2\.1\.0 发布于 2025/12/03（11 个月前）；至今共发布 18 个版本，其中过去 12 个月发布了 1 个；首次发布于 2022/06/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

