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密钥的环境变量。
cp env-vars.example.sh env-vars.sh
- 将您的API密钥添加到新创建的文件中。
source ./env-vars.sh
请注意,以这种方式设置API密钥只是为了演示目的。在您的应用中,您应从您的服务器获取链接令牌,并且您的应用中不应包含API密钥(编译或其他方式)。
测试
示例项目中包含单元测试和UI测试。单元测试与PinwheelSDK_Tests方案相关联,UI测试与PinwheelSDK_UITests方案相关。
要在AWS Device Farm中运行UI测试,您需要配置env-vars.sh
和Example/Matchfile
。
开发工作流程命令
创建功能
任何开发工作的起点应该是一个JIRA任务。只要任务跟踪号(TKT)在分支名中,JIRA就有自动化规则可以处理将TKTs移动到正确状态。
为了帮您处理这个问题,我们有一个创建功能
命令,您在开始开发时应该使用它。从任何分支,只需运行创建功能
即可开始。这将要求您输入一些信息
- 门票号:输入您正在处理的JIRA门票号(包括项目简称和编号,例如
INT-1643
)。如果只有一个TKT,当它询问另一个时按回车键。 - 名称:分支一个非常简短的名字,例如
paycom-login
。
以后会根据提供的TKT号和名称创建一个新的功能分支。
作者
许可证
PinwheelSDK可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。