@approov/nativescript-approov
Approov 对 NativeScript 的支持,包含 Angular/Vue 支持 和 TLS 锚定
npm i --save @approov/nativescript-approov

NativeScript Approov 插件

此插件提供了 NativeScript 应用程序在 Android 和 iOS 上使用 Approov 功能的源代码。

为了最小化必要的代码更改,集成钩子连接到底层网络堆栈,以便根据需要添加动态锚定和 Approov 功能(如 Approov 令牌添加)。

结构

一个 TypeScript 接口允许配置和控制 Approov,并访问更高级的功能。实际上,这个 TypeScript 层连接到一个位于 Approov SDK 自身的本地代码层。这个桥接层必须预先构建并打包到插件中。其源代码可以在存储库顶层的 approov-service-native 文件夹中找到。

对于 Android,Approov SDK 本身通过 gradle jitpack 依赖项包含在存储库中,该存储库包含最新的 SDK。对于 iOS,SDK 实际上包含在这个存储库中。

示例比较项目

与仅包含 TypeScript 代码的大多数插件相比,此插件项目的结构似乎异常复杂,并且它需要使用桥接类型定义来跨调用本地库。

此项目需要除了桥接层和包含专有 Approov SDK 之外的自定义本地代码。最接近的例子可以在 https://github.com/NativeScript/plugins/tree/main/packages/local-notifications 找到。该 local-notifications 插件还需要特殊的 Android .aar.xcframework 库。

开发

对于开发,不建议使用文件路径在本地包含插件。尽管这被支持,并且大多数情况下可以正常工作,但这似乎会在构建过程中产生许多问题,因为它会生成文件系统符号链接。

相反,对于本地开发,建议为每个所需更改生成一个插件 .tgz 并安装它。

本地插件可以通过将工作目录更改到 publish 并执行 ./pack.sh 来生成。这将生成一个新的软件包 publish/package/approov-nativescript-approov.x.y.z.tgz。建议每次都更改版本号,在 src/package.json 中。

将其添加到应用程序项目中 ns plugin add ${REPO-ROOT}/publish/package/approov-nativescript-approov.x.y.z.tgz。这将自动替换任何之前的插件版本。