TinkPFMUI 0.14.0

TinkPFMUI 0.14.0

Kasper LahtiMani SedighiPontus OrrarydMenghao ZhangMengHao Zhang 维护。



TinkPFMUI 0.14.0

  • Tink AB

适用于 iOS 的 Tink PFM SDK

先决条件

  1. 部署目标为 iOS 11 或更高版本的 App。
  2. 遵循入门指南以设置您的 Tink 账户。
  3. 获取访问令牌,需要您打算使用的功能的作用域

安装

使用 CocoaPods

请参阅他们的指南以获取使用和安装说明。

  1. 将 TinkPFMUI 添加到您的 Podfile。

    pod "TinkPFMUI"
    
  2. 在您的项目目录中运行 pod install

  3. 打开您的 .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)
  1. 显示视图控制器,例如在一个 UITabbarController 中。
tabBarController.viewControllers?.append(navigationController)

刷新访问令牌

用户访问令牌在指定时间后会过期。你可以通过 交换刷新令牌 以获取新的访问令牌并传递给 Tink PFM SDK,以保持用户登录。这将替换之前的令牌。如果需要,你还可以刷新统计数据、账户和最新交易。

Tink.shared.setCredential(.accessToken(accessToken))
Tink.shared.refresh()

缓存

SDK 将在内存中缓存获取到的数据。如果用户注销,你需要重置缓存,以确保不会向错误用户展示任何缓存数据。

Tink.shared.resetCache()

创建自定义的 Tink 实例

您可以根据自己的喜好创建自己的Tink实例。这可能在您希望完全控制Tink对象的生命周期或需要访问像证书固定等更高级功能时使用。

  1. 创建一个配置
let configuration = Tink.Configuration(endpoint: .custom(url: customEndpoint), certificate: certificate)

SSL证书用于证书固定。这是可选的,您可以根据需求选择设置。

  1. 使用您的配置创建一个Tink实例
let tink = Tink(configuration: configuration)
  1. Tink实例可以在初始化过程中添加到视图控制器中
let financeOverviewViewController = FinanceOverviewViewController(tink: tink, features: [.statistics([.expenses, .income]), .accounts, .latestTransactions])

外观

您可以通过为Tink PFM SDK提供相应的ColorProvidingIconProvidingFontProviding类型来配置颜色、图标和字体。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
}

或在您的应用目标 通用 选项卡中的 部署信息 部分禁用除 纵向 以外的所有 设备方向