iOS SDK
Kite SDK 使得向您的应用中添加按需打印功能变得容易。
利用我们的全球打印和分发网络。我们将为您处理所有的复杂打印和邮寄事宜!
要开始使用,您需要一个免费的 Kite 开发者账号。前往 kite.ly 进行免费注册。
产品
使用我们的 SDK 解锁隐藏的收入来源并为您的用户提供价值。在 不到十分钟 内,您就可以开始销售
- 磁铁
- 宝丽来风格打印
- 方形打印
- 明信片
- 相框
- A4(发票,信件等)
- 大幅海报(A3,A2,A1)
- 方形和圆形贴纸
- T恤和其他服装
- 手机壳
- 照片书
- 每月新增产品
特性
- 按需打印各种 产品
- 通过我们的网络 开发者仪表板 动态实时控制应用中产品的定价
- 在网页仪表板中提供收入和订单量分析
- 在网页仪表板中审查、退款或重新打印任何订单
- 本系统支持本地货币
- 无需服务器基础设施。我们可以为您处理所有事务,从付款到打印和邮资
- 品牌归您所有。您可以创建自己的自定义结账和支付用户界面或自定义我们的界面
需求
- Xcode 10.2
- 面向 iOS 10.0+ 的目标部署
安装
CocoaPods
如果您正在使用 CocoaPods,只需将以下内容添加到您的 Podfile 中
pod "Kite-Print-SDK"
您也可以提供自己的照片源(例如从您的应用程序或自定义后端)。请阅读此处文档这里。
您可以在以下位置找到 Swift 和 Objective-C 的示例项目:Swift 和 Objective-C。
快速集成
我们真的意味着可以在几分钟内完成集成。
- 步骤 1:导入 SDK
Objective-C
#import <OLKitePrintSDK.h>
Swift
import KiteSDK
- 步骤 2:设置 API 密钥和环境
Objective-C
[OLKitePrintSDK setAPIKey:@"YOUR_API_KEY" withEnvironment:OLKitePrintSDKEnvironmentLive]; //Or OLKitePrintSDKEnvironmentSandbox for testing
Swift
OLKitePrintSDK.setAPIKey("YOUR_API_KEY", with: .live) //Or .sandbox for testing
- 步骤 3:设置 3D Secure 2 付款
关于 SCA(强客户认证)要求,请参阅此处。
将 URL Scheme 添加到您的 info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myappname123456</string>
</array>
</dict>
</array>
将您定义的 URL Scheme 传递给 Kite SDK
Objective-C
[OLKitePrintSDK setUrlScheme:@"myappname123456"];
Swift
OLKitePrintSDK.urlScheme = "myappname123456"
在您的应用程序代理中实现以下方法
Objective-C
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
return [OLKitePrintSDK handleUrlCallBack:url];
}
Swift
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return OLKitePrintSDK.handleUrlCallBack(with: url)
}
- 步骤 4:创建并显示 Kite
Objective-C
OLKiteViewController *vc = [[OLKiteViewController alloc] initWithAssets:@[[OLAsset assetWithURL:[NSURL URLWithString:@"https://psps.s3.amazonaws.com/sdk_static/4.jpg"]]]];
[self presentViewController:vc animated:YES completion:NULL];
Swift
let kiteViewController = OLKiteViewController.init(assets: [OLAsset(url: URL(string: "http://psps.s3.amazonaws.com/sdk_static/4.jpg"))])
present(kiteViewController!, animated: true, completion: nil)
- 步骤 5:
🎉 盈利🎉
苹果 iOS 安全(ATS)
苹果 iOS 系统包含一个名为“应用传输安全”的安全功能。为了连接到 Kite 服务器,您需要在项目的 info.plist 文件中添加一些例外。我们需要为亚马逊 S3(Kite 使用)和 PayPal(可选)添加“向前安全”例外。以下内容是需要从您的应用 info.plist 复制的:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>paypal.com</key>
<dict>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
<key>amazonaws.com</key>
<dict>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
如果您选择上述 Facebook 和 Instagram 集成,则需要添加更多条目。更多信息请参阅此处。
使用场景
Print SDK 支持两个主要使用场景:风筝打印店体验 和 自定义用户体验。
风筝打印店用户体验
Kite SDK 包含一个强大的产品选择、照片编辑和支付体验,这些体验经过证明能够很好地将用户转化为用户。它可以为您处理所有事情,不需要花时间构建任何用户界面。
这是集成速度最快的方法,如果您不想花太多时间构建自定义体验,这是完美的。您可以在几分钟内启动运行!
要使用我们的 Print Shop 体验
- 创建并呈现(或推送)一个
OLKiteViewController
,向其中传递照片数组,我们做其余的事情。 - 注册您的付款详情,以便用户下单时我们可以向您付款
自定义用户体验
如果您不想使用或自定义提供的 Print Shop 体验,可以自己构建 UI。您仍然可以使用 Print SDK 来处理打印订单的创建和提交。
凭证与环境
您移动应用程序集成需要为每个环境(生产环境和测试(沙箱)环境)不同的API密钥值。
您可以在开发仪表板的凭证部分找到这些Kite API凭证。
沙箱
您的沙箱API密钥可用于向我们的服务器提交测试打印订单。这些订单将不会打印和邮寄,但允许您在不产生成本的情况下将Print SDK集成到您的应用程序中。在开发和测试过程中,您主要希望使用沙箱环境以避免涉及实际资金。要测试沙箱支付,您可以使用自己的PayPal沙箱帐户或与我们联系[email protected]
当您准备测试端到端的打印和邮寄过程;并且在与您提交应用程序到App Store之前,您需要更换您的实时API密钥。
实时
您的实时API密钥用于向我们的服务器提交将打印并发送到指定收件人的打印订单。实时订单需要实际费用。这笔费用通常转嫁给您的最终用户(尽管这并不是必须的,如果您想自己承担这笔费用也可以)。
登录我们的开发人员仪表板可以动态更改最终用户价格,即您希望从每个订单中获得的收入。支持多种货币的支付,以便您可以轻松地本地化价格供您的用户。仪表板还提供了打印订单数量和您获得的收入的概述。
ApplePay
如果您想通过ApplePay启用结账,请参阅我们的ApplePay设置文档。
SDK入口点
根据您的使用场景,您可能希望跳转到特定的产品,甚至完全跳过产品选择/创建过程,直接进入结账/付款流程。更多详情请参阅我们的SDK入口点文档。
文档
- 这些SDK文档包括使用概述、逐步集成说明和示例代码
- 此SDK中包含的示例应用
- 头文件有详细的文档;根据需要参考,以了解任何给定属性或参数的额外细节
- Kite Print API和SDK开发者文档,涵盖了错误代码和可选的服务器端集成说明
打印API
我们还提供了一个REST打印API,供喜爱自己动手发明轮子的人士使用:)
从旧版Kite SDK迁移
请参阅迁移文档以进行版本升级
开源认可声明
iOS打印SDK使用了开源社区创建的软件,您可以在这里找到完整的感谢名单。
许可协议
Kite iOS 打印 SDK 在修改后的 MIT 许可协议下提供。有关更多信息,请参阅LICENSE文件。