Panda SDK
Panda SDK 是一个轻量级的开源 Swift 库,可以轻松地将购买界面集成到您的应用程序中,而无需编写代码。
访问我们的网站获取详细信息: https://app.panda.boosters.company/
特性
Panda 会处理订阅购买流程。只需数行代码即可集成 SDK。
您不需要开发购买界面。真是太简单了!
SDK 要求
Panda SDK 需要 iOS 11.2 或更高版本、Xcode 10 和 Swift 4.2。
安装
Panda SDK 可以通过 CocoaPods、Swift Package Manager 或手动方式进行安装。
通过 CocoaPods 安装
将以下行添加到您的 Podfile 中
pod 'PandaSDK'
然后在终端运行
pod install
通过 Carthage 安装
要在 Carthage 中使用 PandaSDK,将其添加到您的 Cartfile。
github "github "AppSci/PandaSDK"
通过 SPM (Swift 包管理器) 安装
使用以下 URL 添加依赖
https://github.com/AppSci/PandaSDK
手动安装
将 Source
文件夹中的所有文件复制到您的项目中。
初始化 Panda SDK
要设置 Panda SDK,您需要 API 密钥。在 Panda Web 中注册您的应用程序并获取 API 密钥。
import PandaSDK
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Panda.configure(token: "YOUR_API_KEY", isDebug: true) { (result) in
print("Configured: \(result)")
}
// the rest of your code
return true
}
使用 Panda 处理屏幕
要从 Panda Web 获取屏幕,您应该使用
func getScreen(screenId: String?, callback: ((Result<UIViewController, Error>) -> Void)?)
如果您想要预取屏幕以确保在显示之前它已准备好,您可以使用
func prefetchScreen(screenId: String?)
我们建议您在配置 Panda SDK 后立即预取屏幕
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
Panda.configure(token: YOUR_SDK_TOKEN, isDebug: true) { (result) in
print("Configured: \(result)")
if configured {
Panda.shared.prefetchScreen(screenId: YOUR_SCREEN_ID)
}
}
return true
}
如果发生任何错误(例如,无互联网连接)时,您可以使用默认屏幕。如果需要,您可以将 "PandaSDK-Default.html" 屏幕嵌入包中——名称至关重要,应命名为 "PandaSDK-Default.html"——我们将使用它来显示此屏幕。
Plist 结构
为了确保一切正常,您需要将此信息添加到您的《PandaSDK-Info.plist》中——您可以根据自己的需要创建它或从示例中下载《PandaSDK-Info.plist》——《PandaSDK-Info.plist》的结构至关重要,请添加
Plist 属性 | 值 | |
---|---|---|
BILLING_URL | https://apps.apple.com/account/billing | 添加您的计费页面URL或保留原样 |
POLICY_URL | https://policy.com | 添加您的政策和隐私页面URL |
TERMS_URL | https://terms.html | 添加您的条款和条件页面URL |
SERVER_URL | https://sdk-api.panda.boosters.company | Panda 服务器URL——请勿删除 |
productIds | 数组 | 购买产品的ID数组 |
处理订阅
Panda SDK 提供了一组用于管理订阅的方法。
获取产品
Panda SDK 在启动时自动获取 SKProduct 对象。必须在 "PandaSDK-Info.plist" 中添加产品标识符。您可以从源代码中的示例应用中下载 .plist 的示例。
进行购买
要购买产品——您创建具有 products_ids 的 html 以进行购买——当点击具体按钮或视图时,Panda SDK 获取此产品 ID 以进行购买,您只需实现购买成功或错误的回调即可。
var onPurchase: ((String) -> Void)? { get set }
var onError: ((Error) -> Void)? { get set }
恢复购买
在用户点击 HTML 屏幕上的“恢复购买”按钮时调用恢复购买。您可以通过实现此回调来处理此恢复,回调返回用于恢复购买的产品 ID。
var onRestorePurchase: ((String) -> Void)? { get set }
基本上它只是将 App Store 发票发送到 App Store。
跳过购买流程
您可以让用户跳过所有购买流程 - 当用户点击屏幕上的“X”时,您可以允许用户继续进入您的应用程序 - 此回调将被调用
var onDismiss: (() -> Void)? { get set }
推送通知支持
您可以使用 Panda 添加推送通知支持,这样您的应用程序将对 Apple 订阅事件作出反应 - 例如,用户可以在订阅取消时接收通知。
要注册用户以接收推送通知,请将其添加到您的 AppDelegate 中
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Panda.shared.registerDevice(token: deviceToken)
}
然后在您的 UNUserNotificationCenterDelegate 中添加此行
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
if Panda.shared.userNotificationCenter(center, willPresent: notification, withCompletionHandler: completionHandler) {
return
}
completionHandler([])
}
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
if Panda.shared.userNotificationCenter(center, didReceive: response, withCompletionHandler: completionHandler) {
return
}
completionHandler()
}
遇到麻烦了吗?
如果您对 SDK 集成有任何疑问或问题,请随时联系我们。我们随时在线。
喜欢 Panda 吗?在顶部放置一个星号