49 lines
1.6 KiB
Swift
49 lines
1.6 KiB
Swift
//
|
||
// StoreKitDelegate.swift
|
||
// StoreKit2Manager
|
||
//
|
||
// Created by xiaopin on 2025/12/6.
|
||
//
|
||
|
||
import Foundation
|
||
import StoreKit
|
||
|
||
/// StoreKit 代理协议
|
||
/// 所有方法都在主线程调用
|
||
public protocol StoreKitDelegate: AnyObject {
|
||
/// 状态更新回调
|
||
/// - Parameters:
|
||
/// - manager: StoreKit2Manager 实例
|
||
/// - state: 新的状态
|
||
func storeKit(_ manager: StoreKit2Manager, didUpdateState state: StoreKitState)
|
||
|
||
/// 产品加载成功回调
|
||
/// - Parameters:
|
||
/// - manager: StoreKit2Manager 实例
|
||
/// - products: 加载的产品列表
|
||
func storeKit(_ manager: StoreKit2Manager, didLoadProducts products: [Product])
|
||
|
||
/// 已购买交易订单更新回调
|
||
/// - Parameters:
|
||
/// - manager: StoreKit2Manager 实例
|
||
/// - efficient: 已购买的交易订单(有效的交易)
|
||
/// - latests: 每个产品的最新交易记录
|
||
func storeKit(_ manager: StoreKit2Manager, didUpdatePurchasedTransactions efficient: [Transaction], latests: [Transaction])
|
||
}
|
||
|
||
// MARK: - 可选方法默认实现
|
||
extension StoreKitDelegate {
|
||
public func storeKit(_ manager: StoreKit2Manager, didUpdateState state: StoreKitState) {
|
||
// 默认实现为空,子类可以选择性实现
|
||
}
|
||
|
||
public func storeKit(_ manager: StoreKit2Manager, didLoadProducts products: [Product]) {
|
||
// 默认实现为空,子类可以选择性实现
|
||
}
|
||
|
||
public func storeKit(_ manager: StoreKit2Manager, didUpdatePurchasedTransactions efficient: [Transaction], latests: [Transaction]) {
|
||
// 默认实现为空,子类可以选择性实现
|
||
}
|
||
}
|
||
|