Platform Languages CocoaPods Swift Package Manager

Tink iOS 版资金管理工具

前提条件

  1. 请按照入门指南设置您的 Tink 账户。
  2. 使用您计划使用的功能所需的Scope获取访问令牌

要求

安装

Swift Package Manager

  1. 按照这些说明将目标链接到包产品

  2. 当要求输入包存储库时,输入此 URL https://github.com/tink-ab/tink-money-manager-ios

  3. 当 Xcode 完成解析 tink-money-manager-ios 并要求您选择包产品时,选择 TinkMoneyManagerUI

使用 CocoaPods

有关使用方法和安装说明,请参阅他们的指南

  1. TinkMoneyManagerUI 添加到您的 Podfile。

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

  3. 打开您的 .xcworkspace 文件以在 Xcode 中查看项目。

手动安装

TinkMoneyManagerUI.xcframework 拖到应用程序目标的General选项卡上的Frameworks, Libraries, and Embedded Content部分。

现在您应该能够在您的项目中 import TinkMoneyManagerUI 了。

获取数据

SDK 需要特定用户的有效访问令牌才能正常运行。由于 SDK 不处理任何类型的身份验证,因此这需要由您的后端完成。有关如何执行此操作的更多信息,请参阅此链接。获得访问令牌后,将其传递给您的 Tink 实例。

Tink.shared.userSession = .accessToken(<#T##String#>)

显示财务概览

创建一个 FinanceOverviewViewController 并提供应显示的功能。 FinanceOverviewViewController 旨在在导航控制器中使用,因此您需要将其嵌入其中。

let financeOverviewViewController = FinanceOverviewViewController(features: [.statistics([.expenses, .income]), .accounts, .latestTransactions])
let navigationController = UINavigationController(rootViewController: financeOverviewViewController)
// Present or add to a UITabBarController for instance.  

刷新访问令牌

用户访问令牌在设定的时间后过期。您可以通过将刷新令牌交换为新的访问令牌(请参阅 Tink 文档)并更新您使用的 Tink 实例来保持用户登录状态。 如果需要,您还可以刷新统计信息、账户和最新交易记录

Tink.shared.userSession = .accessToken(<#String#>)
Tink.shared.refresh()

自定义

要配置颜色、字体或图标,您需要更新 Appearance.provider。 这需要在初始化 FinanceOverviewViewController 或此 SDK 提供的任何其他视图控制器之前完成。

颜色

颜色 描述
background 界面主背景的颜色。
secondaryBackground 分层在主背景之上的内容的颜色。
groupedBackground 分组界面组件的主背景颜色。
secondaryGroupedBackground 分层在分组界面组件的主背景之上的内容的颜色。
label 主文本颜色。
secondaryLabel 辅助文本颜色。
separator 分隔符的颜色。
accent 按钮、指示器和其他类似元素的颜色。
expenses 表示支出的颜色。
income 表示收入的颜色。
transfers 表示转账的颜色。
uncategorized 表示未分类交易的颜色。
warning 表示警告的颜色。
let colorProvider = ColorProvider()
colorProvider.accent = <#UIColor#>
colorProvider.expenses = <#UIColor#>
colorProvider.income = <#UIColor#>
colorProvider.transfers = <#UIColor#>
colorProvider.uncategorized = <#UIColor#>
Appearance.provider.colors = colorProvider

图标

您可以决定是否要更改所有图标或仅更改某些图标。 也可以使用 categoryIconBackgroundCornerRadiusFactor 自定义图标背景圆角半径。 这可以使用从 0.01.0 的因子设置,其中 0.0 会产生正方形,而 1.0(默认值)会产生圆形。

主题

您可以通过分别为 SDK 提供 ColorProvidingIconProvidingFontProviding 类型来配置颜色、字体和图标。 SDK 还提供了一个 AppearanceProvider 类型,可用于轻松自定义视图。

let colorProvider = ColorProvider()
let fontProvider = FontProvider()
let iconProvider = IconProvider()
colorProvider.accent = <#UIColor#>
colorProvider.expenses = <#UIColor#>
colorProvider.income = <#UIColor#>
colorProvider.transfers = <#UIColor#>
colorProvider.uncategorized = <#UIColor#>
fontProvider.lightFont = <#UIFont#>
fontProvider.regularFont = <#UIFont#>
fontProvider.semiBoldFont = <#UIFont#>
fontProvider.boldFont = <#UIFont#>
iconProvider.wellness = <#UIImage#>
iconProvider.house = <#UIImage#>
iconProvider.entertainment = <#UIImage#>
iconProvider.shopping = <#UIImage#>
iconProvider.categoryIconBackgroundCornerRadiusFactor = <#CGFloat#>

Appearance.provider = AppearanceProvider(colors: colorProvider, fonts: fontProvder, icons: iconProvider)

缓存

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

Tink.shared.resetCache()

本地化

交易金额和日期等数字和基于时间的信息将使用当前用户在系统“设置”应用中设置的语言环境设置进行格式化。

由于某些面向用户的文本是从 Tink API 发送的,我们建议您设置 Tink 用户模型的 locale 以匹配用户的偏好,以获得一致的用户体验。

SDK 中面向用户的文本默认使用英语。 要为其他语言环境添加翻译,请参阅本地化字符串指南

其他要求

锁定屏幕方向

来自 SDK 的视图控制器应始终以纵向方向显示,因为它们目前不支持横向方向。 如果以横向方向显示,则会导致意外结果和次佳的用户体验。 通过覆盖呈现您正在使用的 SDK 中的视图控制器的视图控制器中的 supportedInterfaceOrientations 来禁用纵向以外的其他方向。

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

或者通过在应用程序目标的General选项卡上的Deployment Info部分中禁用除 Portrait 之外的所有设备方向

示例

此示例项目演示了如何在您的应用中设置和使用 FinanceOverviewViewController

文档

有关更详细的使用方法和完整文档,请参阅我们的指南。

Tink

Tink 成立于 2012 年,旨在更好地改变银行业。 我们构建了欧洲最强大的开放银行平台——具有最广泛、最深入的连接和强大的服务,可以从金融数据中创造价值。

支持

👋 我们一直在不断努力改进我们的 API 产品的开发者体验。 如需支持、疑问或建议,请联系我们