适用于 iOS 的 Tink PFM SDK
先决条件
安装
使用 CocoaPods
请参阅他们的指南以获取使用和安装说明。
-
将 TinkPFMUI 添加到您的 Podfile。
pod "TinkPFMUI"
-
在您的项目目录中运行
pod install
-
打开您的
.xcworkspace
文件以在 Xcode 中查看项目。
手动安装
将 TinkPFMUI.xcframework
拖动到你的应用程序目标的 General 选项卡的 Frameworks, Libraries, and Embedded Content 选项中。
你现在应该能在你的项目中 导入 TinkPFMUI
。
初始化
为了正常运行,Tink PFM SDK 需要一个针对特定用户的有效访问令牌。由于 Tink PFM SDK 不处理任何类型的身份验证,这需要由你的后端完成。有关如何进行的更多信息,请参阅 此链接。一旦你有了访问令牌,你就将其传递给你的 Tink
实例。
Tink.shared.setCredential(.accessToken(accessToken))
一旦你有了有效的访问令牌,你就可以创建一个 FinanceOverviewViewController
。
let financeOverviewViewController = FinanceOverviewViewController(features: [.statistics([.expenses, .income]), .accounts, .latestTransactions])
let navigationController = UINavigationController(rootViewController: financeOverviewViewController)
- 显示视图控制器,例如在一个
UITabbarController
中。
tabBarController.viewControllers?.append(navigationController)
刷新访问令牌
用户访问令牌在指定时间后会过期。你可以通过 交换刷新令牌 以获取新的访问令牌并传递给 Tink PFM SDK,以保持用户登录。这将替换之前的令牌。如果需要,你还可以刷新统计数据、账户和最新交易。
Tink.shared.setCredential(.accessToken(accessToken))
Tink.shared.refresh()
缓存
SDK 将在内存中缓存获取到的数据。如果用户注销,你需要重置缓存,以确保不会向错误用户展示任何缓存数据。
Tink.shared.resetCache()
创建自定义的 Tink 实例
您可以根据自己的喜好创建自己的Tink实例。这可能在您希望完全控制Tink对象的生命周期或需要访问像证书固定等更高级功能时使用。
- 创建一个配置
let configuration = Tink.Configuration(endpoint: .custom(url: customEndpoint), certificate: certificate)
SSL证书用于证书固定。这是可选的,您可以根据需求选择设置。
- 使用您的配置创建一个
Tink
实例
let tink = Tink(configuration: configuration)
Tink
实例可以在初始化过程中添加到视图控制器中
let financeOverviewViewController = FinanceOverviewViewController(tink: tink, features: [.statistics([.expenses, .income]), .accounts, .latestTransactions])
外观
您可以通过为Tink PFM SDK提供相应的ColorProviding
、IconProviding
和FontProviding
类型来配置颜色、图标和字体。Tink PFM SDK还提供符合所有这些协议的AppearanceProvider
类型,可用于自定义Tink PFM SDK视图。您可以选择性地自定义所需的图标。
要自定义SDK的外观,请使用Appearance
单例。
// Create an appearance provider
let appearanceProvider = AppearanceProvider(
accent: accentColor,
expenses: expensesColor,
income: incomeColor,
transfers: transfersColor,
uncategorized: uncategorizedColor,
)
// Update the appearance
Appearance.provider = appearanceProvider
本地化
数字和时间信息,例如交易金额和日期,按照系统设置应用中当前用户设置的locale设置进行格式化。
由于一些用户界面文本是从Tink API发送的,我们建议您将Tink用户模型的locale
设置为用户的首选,以实现一致的用户体验。
Tink PFM SDK的用户界面文本默认为英语。要添加对其他locale的翻译,请参阅与SDK一起提供的可本地化字符串文档。
额外要求
锁定屏幕方向
Tink PFM SDK 的视图控制器应始终以纵向方向显示,因为它们目前不支持横向方向。如果在横向方向展示,可能会导致意料之外的结果和次优的用户体验。可以通过覆盖使用 Tink PFM SDK 的视图控制器所在的视图控制器中的 supportedInterfaceOrientations
来禁用除纵向以外的其他方向。
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
或在您的应用目标 通用 选项卡中的 部署信息 部分禁用除 纵向
以外的所有 设备方向。