Inspetor Antifraud
Inspetor 针对Swift (iOS应用程序) 集成的反欺诈SDK。
描述
Inspetor 是一个开发出来帮助您的公司避免欺诈交易的产品。此README文件应帮助您通过几个步骤将Inspetor iOS库集成到您的产品中。
注意:此库是用Swift编写的,您在此处看到的所有代码也都是Swift写的。
演示应用
如果您想查看库在实际操作中的简单集成,您可以克隆inspetor 演示应用。在那里,您可以看到如何设置库并触发所有跟踪操作。除此之外,您还可以找到使用我们库的最佳实践。
如何使用
您可以通过CocoaPods安装Inspetor iOS库。安装只需要按照以下步骤进行
- 将我们的库添加到您的Podfile(
pod Inspetor
) - 运行
pod install
命令
注意:当您导入 Inspetor 库时,您会发现您实际上正在安装多个库,因为 Inspetor iOS 库有一些依赖关系。
API 文档
您可以在这里找到关于我们前端库和集成的更深入文档。
库安装
为了将客户特定的认证凭据正确传递给 Inspetor 的处理管道,您需要提供
- authToken(由 Inspetor 提供)
注意:在您不处于生产环境时,请记得使用 沙箱 的 authToken
有了这些,您就可以实例化 Inspetor 跟踪实例。我们的集成库实例化一个单例实例以防止实例化多个跟踪器,否则可能会导致向 Inspetor 传输重复或不一致的数据。除此之外,单例将让您只需配置一次库。
以下是如何实例化单例实例的说明
do {
try Inspetor.sharedInstance().setup(authToken: "authToken")
} catch TrackerException.requiredConfig(let code, let message) {
print("code: \(code) - message: \(message)")
} catch {
print("Error")
}
请注意,如果您的 authToken 无效(空字符串或格式不符合要求),此函数可能会抛出异常。
我们 强烈 建议您将 Inspetor 库实例化在您的应用程序中的 AppDelegate
的 didFinishLaunchingWithOptions
函数中,因为这样可以在应用程序加载时立即配置库,从而可以调用库函数。
所有对 Inspetor 函数的访问都是通过调用 inspetor.sharedInstance()
来实现的。
该函数只接受一个参数
参数 | 必需 | 类型 | 说明 |
---|---|---|---|
authToken | 是 | 字符串 | 这是 Inspetor 团队将提供给您的一个唯一标识符 |
注意:始终记住使用 import Inspetor
来导入库
库调用
如果您已经阅读了一般的 Inspetor 文件,您应该已经了解了所有 Inspetor 请求和集合函数。
在此,我们将向您展示一些在调用 Inspetor 跟踪函数时需要了解的细节。
我们所有的 跟踪函数 都可能会抛出异常,但它们抛出的唯一异常是如果您在调用其中一个函数之前忘记了配置 Inspetor 库。因此,Inspetor 类有一个名为 isConfigured()
的函数,它会返回一个布尔值,表示您是否已配置 Inspetor 库。我们建议在调用任何跟踪函数时检查 Inspetor 库是否已配置。以下是一个如何执行此操作的示例
if (Inspetor.sharedInstance().isConfigured()) {
try! Inspetor.sharedInstance().trackAccountCreation(accountId: "123")
}
TrackScreenView
与Inspetor JavaScript库不同,用户页面视图(screenview)的跟踪不是自动完成的。您需要在每个新页面上添加trackPageView
函数。我们强烈建议您在应用中每个ViewController的viewDidLoad
中添加这些函数,因为这样可以即时跟踪页面视图/屏幕视图动作。下面是这种实现的示例
override func viewDidLoad() {
super.viewDidLoad()
if (Inspetor.sharedInstance().isConfigured()) {
try! Inspetor.sharedInstance().trackPageView(pageTitle: "login-page")
}
}
用户位置
Inspetor iOS库可以使用用户位置来帮助我们提供更准确的结果,但它永远不会请求它。如果您的应用已经可以访问用户位置,库将自动捕捉它,否则它不会将位置发送给我们。
模型
如果您来自我们的后端库之一,您会注意到我们在前端库中不使用模型(例如,账户、销售)。这里您只需要向我们发送模型的ID(例如,销售ID,账户ID)。
更多信息
有关更多信息,请查阅Inspetor前端文档