SpiralSDK
Spiral SDK用于在您的应用中以模态的形式打开。通过模态,最终用户可以选择一个非营利组织,选择捐赠金额/频率,并提交他们的捐款。
用法
Spiral iOS SDK的主要接口是一个UIViewController
,您可以将它集成到您的应用中,就像任何UIViewController
一样,例如以模态形式呈现,或与UINavigationController
一起使用。此外,您可以实现SpiralDelegate
协议以在SpiralViewController
的生命周期内接收事件。
安装
Spiral iOS SDK可以通过Swift Package Manager和CocoaPods获得。
Swift 包管理器
将 https://github.com/spiral-ios/spiral-ios-sdk
添加为包依赖。
CocoaPods
要使用 CocoaPods 安装 SDK,请在您的 Podfile 中将 SpiralSDK
添加为目标依赖项之一。
use_frameworks!
target 'MyApp' do
pod 'SpiralSDK'
end
请确保运行 pod update
并使用 pod install --repo-update
来确保您已安装 SDK 的最新版本。
Spiral Token
要初始化 SpiralViewController
,首先需要生成一个短生命周期的 Spiral Token。您的服务器可以通过向 /v1/spiral_tokens
端点发送带有捐款更新详情的 POST 请求来生成 Spiral Token。您的移动应用程序应从您的服务器获取令牌。NEVER 从客户端发送此请求并公开您的 api_secret。
返回的 spiral token 有效期为 15 分钟,之后它将过期,无法再用于初始化 SpiralViewController
。过期时间以 Unix 时间戳的形式返回。
SpiralViewController
SpiralViewController 是一个 UIViewController
,您可以像这样将其集成到应用程序的流程中
import SpiralSDK
let spiralVC = SpiralViewController(token: spiralToken, delegate: self)
self.present(spiralVC!, animated: true)
使用 SpiralViewController
,最终用户可以选择一个非营利组织,选择捐赠金额/频率,并提交他们的捐赠。在整个授权过程中,事件将被触发并传递给 onEvent
回调。授权成功后,将调用 onSuccess
回调。当需要关闭对话框时,将调用 onExit
,此时应从您的视图层次结构中移除 SpiralSpiral 组件。
SpiralDelegate
SpiralDelegate
协议设置为每个事件都通过所需的 onEvent(name: event:)
处理器处理,并提供方便的方法用于 .exit
、.success
、.login
和 .error
事件。请注意,onEvent(name: event:)
处理器将与方便的方法一起调用。
onEvent(name: SpiralEventType, event: SpiralEventPayload)
在用户与模态框交互时(例如,登录或初始化切换)调用的回调。请参阅 Spiral 文档中的 事件部分。
onExit(_ error: SpiralError?)
当用户显式退出模态框或在模态框崩溃时发生的错误出现时,可以执行可选的回调。错误代码可见此处。
onSuccess(_ result: SpiralSuccessPayload)
当用户成功完成 Spiral 流程时进行可选的回调。注意:这只是一个前端回调。如果用户开始一个任务,关闭应用程序,并且任务成功完成,则不会调用此回调。
onLogin(_ result: SpiralLoginPayload)
当用户成功登录时的可选回调。
onError(_ error: SpiralError)
当发生错误时的可选回调。
示例
要运行示例项目,首先克隆仓库,然后从 Example 目录运行 pod install
。然后,您需要设置一个包含您的 API 秘密的环境变量。
cp env-vars.example.sh env-vars.sh
- 将您的 API 秘密添加到新创建的文件中。
source ./env-vars.sh
请注意,以这种方式设置 API 秘密仅用于演示目的。在您的应用程序中,您应该从服务器获取 Spiral 令牌,并且永远不要将您的 API 秘密包含在您的应用程序中(编译或其它方式)。
测试
示例项目中包含单元测试和UI测试。单元测试与SpiralSDK_Tests方案关联,UI测试与SpiralSDK_UITests方案关联。
在AWS设备农场运行UI测试时,您需要配置env-vars.sh
和Example/Matchfile
。
开发工作流命令
创建特性
进行任何开发工作应该如何开始的起点是一个JIRA工单。只要工单号在分支名称中,JIRA就有自动化规则来处理将工单移动到正确的状态。
为了帮您处理这个问题,我们有一个make feature
命令,在开始开发时您会想要使用这个命令。从任何分支,简单地运行make feature
即可开始。这将询问一些事情
- JIRA工单号码:输入您正在工作的JIRA工单号码(包括项目缩写和号码,例如
INT-1643
)。这会请求多个工单号码,如果是唯一的一个工单,当它问及另一个工单时按Enter。 - 名称:为分支提供的简要名称,例如
paycom-login
。
然后,将根据提供的工单号码和名称创建一个新的特性分支。
作者
许可协议
SpiralSDK 在 MIT 许可证下可用。查看 LICENSE 文件以获取更多信息。