PinwheelSDK 3.0.5

PinwheelSDK 3.0.5

Robby AbayaAnishOctavio RoscioliChuck SkodaRichard HuangElena Churilova维护。



  • Pinwheel工程团队

PinwheelSDK

Pinwheel SDK用于在您的应用程序中以模态的形式打开。通过这个模态,最终用户可以选择他们的雇主,并使用他们的薪酬平台登录凭证进行身份验证,并授权直接存款更改。

用法

Pinwheel iOS SDK的主界面是一个UIViewController,您可以将它整合到应用程序中,就像使用任何UIViewController一样,例如作为模态显示,也可以与UINavigationController一起使用。此外,您还可以实现PinwheelDelegate协议以在整个PinwheelViewController的生命周期中接收事件。

安装

Pinwheel iOS SDK可通过Swift包管理器CocoaPods获取。

Swift 包管理器

https://github.com/underdog-tech/pinwheel-ios-sdk 添加为包依赖。

CocoaPods

要使用 CocoaPods 安装 SDK,请将 PinwheelSDK 添加到您的 Podfile 中的目标依赖之一。

use_frameworks!

target 'MyApp' do
    pod 'PinwheelSDK'
end

请务必运行 pod update 并使用 pod install --repo-update 确保您安装了 SDK 的最新版本。

链接令牌

要初始化 PinwheelViewController,首先需要生成一个短期链接令牌。您的服务器可以通过向 /v1/link_tokens 端点发送带有直接存款更新详情的 POST 请求来生成链接令牌。您的移动应用应从您的服务器获取链接令牌。请不要从客户端发送此请求并公开您的 API 密钥。

返回的链接令牌有效期为 15 分钟,之后过期,不能再用于初始化 PinwheelViewController。过期时间以 Unix 时间戳的形式返回。

PinwheelViewController

PinwheelViewController 是一个 UIViewController,您可以将其集成到应用的流程中

import PinwheelSDK

let pinwheelVC = PinwheelViewController(token: linkToken, delegate: self)
self.present(pinwheelVC!, animated: true)

使用 PinwheelViewController,最终用户可以选择他们的雇主,使用他们的薪酬平台登录凭证进行身份验证,并授权更改直接存款。在整个授权过程中,将向 onEvent 回调发送事件。授权成功后,将调用 onSuccess 回调。onExit 在关闭对话框的时间点会被调用,并应从你的视图层级中移除 PinwheelLink 组件。

PinwheelDelegate

PinwheelDelegate 协议设置确保每个事件都经过必需的 onEvent(name: event:) 处理器,并提供可选的便捷方法用于处理 .exit.success.login.error 事件。请注意,仍将在便捷方法的同时调用 onEvent(name: event:) 处理器。

onEvent(name: PinwheelEventType, event: PinwheelEventPayload)

当用户与模态框交互时进行回调(例如,登录或启动切换)。请参阅 Link 文档的事件部分

onExit(_ error: PinwheelError?)

当用户明确退出模态框或模态框因错误而崩溃时进行可选回调。错误代码可在此查看 这里

onSuccess(_ result: PinwheelSuccessPayload)

用户成功完成链接流程时可选的回调。注意:这只是一个前端回调。如果用户开始一个任务,关闭应用,并且任务成功完成,该回调不会调用。

onLogin(_ result: PinwheelLoginPayload)

当用户成功登录时的可选回调。

onError(_ error: PinwheelError)

当发生错误时的可选回调。

示例

要运行示例项目,首先克隆存储库,然后从示例目录中运行pod install。然后,您需要设置一个包含您的API密钥的环境变量。

  1. cp env-vars.example.sh env-vars.sh
  2. 将您的API密钥添加到新创建的文件中。
  3. source ./env-vars.sh

请注意,以这种方式设置API密钥只是为了演示目的。在您的应用中,您应从您的服务器获取链接令牌,并且您的应用中不应包含API密钥(编译或其他方式)。

测试

示例项目中包含单元测试和UI测试。单元测试与PinwheelSDK_Tests方案相关联,UI测试与PinwheelSDK_UITests方案相关。

要在AWS Device Farm中运行UI测试,您需要配置env-vars.shExample/Matchfile

开发工作流程命令

创建功能

任何开发工作的起点应该是一个JIRA任务。只要任务跟踪号(TKT)在分支名中,JIRA就有自动化规则可以处理将TKTs移动到正确状态。

为了帮您处理这个问题,我们有一个创建功能命令,您在开始开发时应该使用它。从任何分支,只需运行创建功能即可开始。这将要求您输入一些信息

  1. 门票号:输入您正在处理的JIRA门票号(包括项目简称和编号,例如 INT-1643)。如果只有一个TKT,当它询问另一个时按回车键。
  2. 名称:分支一个非常简短的名字,例如 paycom-login

以后会根据提供的TKT号和名称创建一个新的功能分支。

作者

Pinwheel

许可证

PinwheelSDK可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。