SpiralSDK 0.3.3

SpiralSDK 0.3.3

Ron Soffer维护。



SpiralSDK 0.3.3

  • Spiral Financial

SpiralSDK

Spiral SDK用于在您的应用中以模态的形式打开。通过模态,最终用户可以选择一个非营利组织,选择捐赠金额/频率,并提交他们的捐款。

用法

Spiral iOS SDK的主要接口是一个UIViewController,您可以将它集成到您的应用中,就像任何UIViewController一样,例如以模态形式呈现,或与UINavigationController一起使用。此外,您可以实现SpiralDelegate协议以在SpiralViewController的生命周期内接收事件。

安装

Spiral iOS SDK可以通过Swift Package ManagerCocoaPods获得。

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 秘密的环境变量。

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

请注意,以这种方式设置 API 秘密仅用于演示目的。在您的应用程序中,您应该从服务器获取 Spiral 令牌,并且永远不要将您的 API 秘密包含在您的应用程序中(编译或其它方式)。

测试

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

在AWS设备农场运行UI测试时,您需要配置env-vars.shExample/Matchfile

开发工作流命令

创建特性

进行任何开发工作应该如何开始的起点是一个JIRA工单。只要工单号在分支名称中,JIRA就有自动化规则来处理将工单移动到正确的状态。

为了帮您处理这个问题,我们有一个make feature命令,在开始开发时您会想要使用这个命令。从任何分支,简单地运行make feature即可开始。这将询问一些事情

  1. JIRA工单号码:输入您正在工作的JIRA工单号码(包括项目缩写和号码,例如INT-1643)。这会请求多个工单号码,如果是唯一的一个工单,当它问及另一个工单时按Enter。
  2. 名称:为分支提供的简要名称,例如paycom-login

然后,将根据提供的工单号码和名称创建一个新的特性分支。

作者

螺旋

许可协议

SpiralSDK 在 MIT 许可证下可用。查看 LICENSE 文件以获取更多信息。