Klarna Checkout SDK for Mobile Apps
Checkout SDK 允许将 Klarna Checkout 集成到原生或混合 iOS 和 Android 应用中。它的目标是使集成简单,并提供最流畅的应用内购买体验。
寻找 Klarna Payments 吗? 建议查看 Klarna In-App SDK 仓库。
需求
- iOS 10 或更高版本。
- Android 4.0 或更高版本。
开发者文档
API 文档
什么是 Klarna Checkout SDK 提供的?
Klarna Checkout SDK 提供两种集成方式:**原生集成**和**混合集成**。
在原生集成方法中,您的移动应用程序使用我们的移动 SDK 展示 Klarna Checkout 视图。移动 SDK 通过您的端点从 Klarna 请求 Klarna Checkout HTML 片段。您的后端充当通信隧道。
在混合集成方法中,您移动应用程序作为 WebView 展示 Klarna Checkout。您的后端充当 web 服务器,在您托管网页上渲染 Klarna Checkout,然后通过您移动应用程序的 WebView 展示。
概述
原生集成
原生集成方法的组件包括
- 从您的服务器到 Klarna 服务器的 Klarna Checkout 集成。
- 您的服务器上的一个端点,从这里 Klarna Checkout 通过移动 SDK 获取。
- 适用于移动应用程序的 Klarna Checkout SDK。
- 您的移动应用程序。
集成 Klarna Checkout 包括六个步骤
- 安装 Klarna Checkout。
- 通过更改配置或应用程序清单来准备您的应用程序。
- 准备后端端点以获取Checkout 片段。
- 使用 Checkout 片段初始化 SDK。
- 显示 Klarna Checkout 视图。
- 配置事件监听器。
混合集成
混合集成方法的组件包括
- 从您的服务器到 Klarna 服务器的 Klarna Checkout 集成。
- 您的服务器上的一个网页,Klarna Checkout 从移动 SDK 获取。
- 适用于移动应用程序的 Klarna Checkout SDK。
- 您的移动应用程序。
集成 Klarna Checkout 包括六个步骤
- 安装 Klarna Checkout。
- 通过更改配置或应用程序清单来准备您的应用程序。
- 准备您的网页以集成 Klarna Checkout。
- 使用您的 WebView 启动 SDK。
- 显示您的网页。
- 配置事件监听器。
iOS
iOS SDK 以框架形式提供,可以使用 Cocoapods 进行安装
pod 'KlarnaCheckoutSDK'
Carthage
binary "https://raw.githubusercontent.com/klarna/kco-mobile-sdk/master/KlarnaCheckoutSDK.json"
Swift 包管理器 (+Xcode 12)
在 Swift 包中,添加 KlarnaCheckoutSDK 包存储库的 URL。
https://github.com/klarna/kco-mobile-sdk
用法 | 文档 | 示例应用
Android
Android SDK 可以在我们的 Maven 存储库中获取,按照以下步骤将其添加到您的应用中。
repositories {
....
maven {
url 'https://x.klarnacdn.net/mobile-sdk/'
}
}
添加为依赖
implementation 'com.klarna.checkout:sdk:1.x.x'
用法 | 文档 | 示例应用
注意: 如果您在 Android 9.0 或更高版本上遇到崩溃,请升级到最新版本(1.6.8 或更高版本)。
贡献
支持
如果您在使用项目的SDK时遇到任何问题,或者您认为SDK本身存在问题,请在Github上创建一个问题,或者按照下一节中的指南报告一个错误。
我如何贡献?
感谢您阅读本指南并花时间贡献给Klarna Checkout SDK!以下是一系列指南,帮助您贡献,无论您是想报告错误、提出建议还是修改代码。
报告错误
本节将指导您提交Klarna Checkout SDK的错误报告。
在提交错误报告之前,请检查该问题是否之前已经报告过。如果找到一个已关闭的问题,它们似乎描述了一个与您想要报告的问题类似的问题,请打开一个新问题,并在其中链接到原始问题。在确认了错误尚未被报告后,请填写必要的模板,这将帮助我们更快地解决问题。
提交错误报告
提交的错误被跟踪为GitHub问题。要报告错误,创建一个问题,并使用模板提供有关错误的信息。详细解释问题,并包括您认为可能有助于维护者重现问题的任何附加信息。在创建GitHub问题时,请务必确保您
- 使用清晰且描述性强的标题为问题。
- 尽可能详细地描述复现问题的确切步骤。一般来说,提供的信息越多越好。
- 描述按步骤执行后观察到的行为,并确切说明该行为中的问题。
- 说明您期望的行为以及原因。
- 提供截图和/或屏幕录制,这可能有助于解释您遇到的问题。要在Android Studio或模拟器连接的Android手机上录制屏幕,请遵循此处的步骤。要在iOS上录制屏幕,请遵循此处描述的步骤。
- 在缺陷报告中包含相关日志,通过将其放入一个代码块、一个文件附件或一个gists,并提供建立在该gists的链接。
- 说明您开始出现问题的最近时间。 您第一次体验问题的具体时间是什么时候?是在更新SDK版本之后出现的吗?或者问题一直存在?
- 如果问题最近开始出现,您能否在旧版本的SDK中进行复现? 问题描述最近没有出现的版本是什么?
- 您能否可靠地复现问题? 如果不能,解释它发生的频率以及通常在什么条件下发生。例如,您在什么环境中运行Checkout。
包括您遇到问题的设备/模拟器/模拟器的详细信息
- 您使用哪个版本的SDK?
- 这个问题在哪个操作系统上,iOS、Android还是两者都有关? 哪个版本?还请添加相应的问题标签。
- 您是否在模拟器/模拟器或真实设备上遇到过问题?
通过代码贡献
在贡献之前,如果您不确定SDK或Checkout如何工作,您可能需要阅读Klarna Checkout和Checkout SDK的文档。
分支
在创建新分支时,根据您要处理的内容(错误修复或新特性)为分支命名。以下是在创建新分支时使用的预设:
- feature/ 如果分支包含新特性,例如:
feature/my-shiny-feature
。 - bugfix/ 如果分支包含错误修复,例如:
bugfix/my-bug-fix
。
拉取请求
在创建PR时,请尽可能提供有关增强类型的信息,无论是修复错误、新功能还是任何其他更改。有一个模板供您填写,这将使维护者的审查过程更快。创建PR时,请针对master
分支。PR应包括
- 一个清晰且描述性的标题.
- 如果修复了一个错误,请提供问题的描述以及相关问题的链接,或者介绍新功能的背景。
许可证
版权所有 2018 Klarna Bank AB
遵循Apache许可证版本2.0(“许可证”);除非本软件文件受适用法律要求或书面同意的许可,否则不得使用本文件。您可以在此处获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证中规定的权限和限制,请参阅许可证。