PandaSDK 0.0.46

PandaSDK 0.0.46

Inna K维护。



PandaSDK 0.0.46

  • 助推器

Panda SDK

Panda SDK 是一个轻量级的开源 Swift 库,可以轻松地将购买界面集成到您的应用程序中,而无需编写代码。

访问我们的网站获取详细信息: https://app.panda.boosters.company/

特性

👍使用我们的 SDK 整合订阅非常简单。
Panda 会处理订阅购买流程。只需数行代码即可集成 SDK。

🎨无需编写代码即可创建订阅购买界面 - 只需使用 html。
您不需要开发购买界面。真是太简单了!

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 吗?在顶部放置一个星号😊