KnotAPI iOS SDK
集成KnotAPI Card Switcher iOS SDK参考
概述
LootAPI for iOS是一个可嵌入的框架,它随着你的应用程序捆绑和分 phát,用于在网页上为你的客户提供一种简单且便捷的体验,用于更新他们的旧存储卡片到新卡片。
安装iOS SDK
我们建议使用CocoaPods来获取必要的文件并保持它们更新。
CocoaPods
-
如果您尚未安装,请安装 CocoaPods 的最新版本。
-
如果您还没有现有的 Podfile,请运行以下命令创建一个
pod init
- 将以下行添加到您的 Podfile
pod 'KnotAPI', '0.2.5'
- 运行以下命令
pod install
Swift Package Manager
要使用 Swift Package Manager 集成 KnotAPI,您需要 Swift 版本 5.3 或更高版本。请在您的 Xcode 项目的以下步骤中进行操作
- 转到文件,添加包。
- 在对话框右上角,您将看到一个搜索栏。输入 KnotAPI 包的 URL:https://github.com/millionscard/knot-api-ios。
- 从结果中选择 knot-api-ios 包。
- 选择您的依赖规则。我们建议选择“到下一个主要版本”。
- 选择您要与其集成的项目,然后单击“添加包”。
- 选择 KnotAPI 包产品,然后单击“添加包”。
- 确认已成功将 LinkKit Swift 包添加为项目的包依赖项。
导入 SDK
要打开文件切换器上的卡,首先必须导入 SDK。
导入 KnotAPI
import KnotAPI
#import "KnotAPI/KnotAPI-Swift.h"
创建用户
现在,创建一个 用户 并获取 knot_access_token
。我们建议将此 knot_access_token
保存以备将来调试、记录和连接使用。
创建会话
接下来,创建一个 会话 并获取 会话 ID
。我们建议保存此 会话 ID
以备将来调试、记录和连接使用。
已保存卡片切换器
初始化会话
初始化会话,可以使用以下方法
let session = CardOnFileSwitcherSession(sessionId: "SESSION_ID", clientId: "CLIENT_ID", environment: .sandbox)
CardOnFileSwitcherSession * session = [[CardOnFileSwitcherSession alloc] initWithSessionId:@"SessionId" clientId:@"ClientID" environment: EnvironmentSandbox];
在文件切换器上打开卡片
要打开文件切换器上的卡片,您可以使用以下方法:
session.openCardOnFileSwitcher()
[session openOnCardFileSwitcherWithMerchants:@[]];
通过特定商家打开
要通过特定商家打开文件切换器上的卡片,首先联系 [email protected] 以获取商家 IDs 和名称列表。将 IDs 或商家名称作为数字或字符串数组传递到会话实例中。
session.setMerchantIds(merchantIds: [44, 16])
[session setMerchantIdsWithMerchantIds:@[@44, @16]];
session.setMerchantNames(merchantNames: ["Netflix"])
[session setMerchantNamesWithMerchantNames:@[@"Amazon"]];
环境
沙盒
沙盒是 KnotAPI 上的环境之一,您可以在其中运行您的代码,沙盒是一个测试环境,其中无法使用真实数据。
📘 测试凭据
要测试一个商家,您可以使用以下登录信息:
用户名/电子邮件: user_good
密码: pass_good
事件
事件为您的应用提供对用户旅程的实时反馈。这些事件可 用于应用程序功能或日志记录目的。
要处理事件,您可以创建CardSwitcherConfiguration的实例并将其设置在会话实例上
class ViewController: UIViewController {
let session = CardOnFileSwitcherSession(sessionId: "SESSION_ID")
let config = CardSwitcherConfiguration()
session.setConfiguration(configuration: config)
CardOnFileSwitcherSession * session = [[CardOnFileSwitcherSession alloc] initWithSessionId:@"SESSION_ID"];
CardSwitcherConfiguration *config = [[CardSwitcherConfiguration alloc] init];
[session setConfigurationWithConfig:config];
然后您可以在配置实例上设置闭包
onSuccess
当用户成功更新帐户的支付信息时,将调用此闭包。它接受一个包含商户名称的单个参数。
config.setOnSuccess { merchant in
print("cardSwitcher onSuccess Merchant: \(merchant)")
}
[config setOnSuccessOnSuccess:^(NSString *merchant) {
// handle success event
}];
onError
当在Account Updater初始化过程中发生错误,或者帐户在更新支付信息时出现问题,将调用此闭包。它接受两个String参数errorCode和errorMessage。
config.setOnError { error, message in
print("cardSwitcher Error: \(error), Message: \(message)")
}
[config setOnErrorOnError:^(NSString * error, NSString * message) {
// handle error event
}];
onExit
当用户在没有成功更新所有选中商户或Account Updater初始化过程中发生未处理的错误,或帐户在更新支付信息时出现问题而退出时,将调用此可选闭包。
config.setOnExit {
print("cardSwitcher onExit")
}
[config setOnExitOnExit:^{
// handle exit event
}];
onEvent
当会计更新流程中的某些事件发生时调用此闭包,例如,当用户开始更新账户的支付信息时。这使您的应用能够深入了解用户在会计更新流程中所进行的活动。它应接受两个字符串参数:eventName和merchantName。
config.setOnEvent(onEvent: { event, merchant in
print("cardSwitcher Event: \(event), Merchant: \(merchant)")
})
[config setOnEventOnEvent:^(NSString * event, NSString * message) {
// handle event
}];
事件
登录开始
当文件中卡片切换器开始登录账户时。
登录成功
当文件中卡片切换器成功登录账户时。
需要 OTP
当文件中卡片切换器要求用户输入 OTP 时。
卡错误
当文件卡片切换器在更新卡片时遇到与卡片信息相关的错误时。
错误
当文件卡片切换器在更新卡片时遇到错误。