VGS Show iOS SDK
VGS Show 是一套产品,允许客户在不知情的情况下安全地显示和展示信息。VGSShow iOS SDK 允许您在不受数据通过系统影响的情况下,安全地从 VGS 中提取数据并通过表单展示。表单 UI 元素的表现与传统标签类似,同时确保了对不安全数据的安全访问。
目录
开始之前
您应该已将组织注册在 VGS Dashboard 上。将为您预先创建沙盒 vault。您应使用已经创建的别名来开始数据揭秘。如果需要创建别名,可以使用与相同名称的 VGSCollecSDK 创建一些别名,或者尝试我们文档中描述的方法之一:文档。
集成
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 VGSShowSDK 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它。
pod 'VGSShowSDK'
Swift 包管理器,Xcode 12+
Swift 包管理器 是用于自动化 Swift 代码分发的工具,并集成到 swift
编译器中。
一旦您设置了 Swift 包,添加 VGSShowSDK 依赖项。
dependencies: [
.package(url: "https://github.com/verygoodsecurity/vgs-show-ios", .upToNextMajor(from: "1.0.0"))
]
使用方法
导入SDK
import VGSShowSDK
创建VGSShow实例和VGS UI元素
使用你的<vaultId>
初始化VGSShow实例。你可以在你的组织仪表板中获取。
代码示例
/// VGSShow instance.
let vgsShow = VGSShow(id: "<VAULT_ID>", environment: .sandbox)
/// VGSShow views.
let cardNumberLabel = VGSLabel()
let expDateLabel = VGSLabel()
override func viewDidLoad() {
super.viewDidLoad()
/// ...
// Setup content path in reveal response
cardNumberLabel.contentPath = "cardData.cardNumber"
expDateLabel.contentPath = "cardData.expDate"
// Register VGSShow views in vgsShow instance.
vgsShow.subscribe(cardNumberLabel)
vgsShow.subscribe(expDateLabel)
// Configure UI.
configureUI()
/// ...
}
// Configure VGS Show UI Elements.
private func configureUI() {
let paddings = UIEdgeInsets.init(top: 8, left: 8, bottom: 8, right: 8)
let textColor = UIColor.white
let borderColor = UIColor.clear
let font = UIFont.systemFont(ofSize: 20)
let backgroundColor = UIColor.systemBlue
let cornerRadius: CGFloat = 0
cardNumberLabel.textColor = textColor
cardNumberLabel.paddings = paddings
cardNumberLabel.borderColor = borderColor
cardNumberLabel.font = font
cardNumberLabel.backgroundColor = backgroundColor
cardNumberLabel.layer.cornerRadius = cornerRadius
expDateLabel.textColor = textColor
expDateLabel.paddings = paddings
expDateLabel.borderColor = borderColor
expDateLabel.font = font
expDateLabel.backgroundColor = backgroundColor
expDateLabel.layer.cornerRadius = cornerRadius
expDateLabel.characterSpacing = 0.83
}
...
发起数据揭露请求
为了将别名改为真实数据,您需要发起揭露请求。当响应通过VGS代理时,别名数据将被揭露。如果请求成功,揭露的数据将自动显示在订阅的VGS Show UI元素中。您还可以在请求有效载荷中发送任何其他数据。
func revealData() {
/// set custom headers
vgsShow.customHeaders = [
"custom-header": "custom data"
]
/// send any additional data to your backend
let customPayload = ["CustomKey" : "CustomValue"]()
/// make a reveal request
vgsShow.request(path: "post",
method: .post,
payload: customPayload) { (requestResult) in
switch requestResult {
case .success(let code):
self.copyCardNumberButton.isEnabled = true
print("vgsshow success, code: \(code)")
case .failure(let code, let error):
print("vgsshow failed, code: \(code), error: \(error)")
}
}
}
本地测试
要从您的本地机器直接测试和验证与VGS的集成,您可以使用VGS Satellite。查看我们的卫星集成指南。
演示应用程序
iOS上收集卡片数据的演示应用程序在这里。
您还可以使用VGShow iOS SDK来显示PDF文件。查看我们的演示,包括使用情况说明。
版本发布
要跟踪VGSShowSDK的更新和变更,请查看发布页面。
指标
VGSShow跟踪一些关键指标以了解SDK功能的用法,帮助我们了解哪些方面需要改进。不会收集个人/敏感信息。您可以在VGSAnalyticsClient
中轻松取消选择指标收集。
VGSAnalyticsClient.shared.shouldCollectAnalytics = false
依赖项
- iOS 10+
- Swift 5
许可证
VGSShow iOS SDK 采用 MIT 许可证发布。有关详细信息,请参阅 LICENSE。