diff --git a/android/hybridcommon/src/main/java/com/revenuecat/purchases/hybridcommon/common.kt b/android/hybridcommon/src/main/java/com/revenuecat/purchases/hybridcommon/common.kt index 6d2f91ee..09f7e4a4 100644 --- a/android/hybridcommon/src/main/java/com/revenuecat/purchases/hybridcommon/common.kt +++ b/android/hybridcommon/src/main/java/com/revenuecat/purchases/hybridcommon/common.kt @@ -1074,6 +1074,23 @@ fun invalidateVirtualCurrenciesCache() { fun getCachedVirtualCurrencies(): Map? = Purchases.sharedInstance.cachedVirtualCurrencies?.map() +// region Health + +fun healthRequest( + signatureVerification: Boolean, + onResult: OnResult, +) { + Purchases.sharedInstance.healthRequest(signatureVerification) { error -> + if (error != null) { + onResult.onError(error.map()) + } else { + onResult.onReceived(emptyMap()) + } + } +} + +// endregion + // region Ad Tracking @OptIn(ExperimentalPreviewRevenueCatPurchasesAPI::class) diff --git a/ios/PurchasesHybridCommon/PurchasesHybridCommon/CommonFunctionality.swift b/ios/PurchasesHybridCommon/PurchasesHybridCommon/CommonFunctionality.swift index 7d9d9b1e..626af533 100644 --- a/ios/PurchasesHybridCommon/PurchasesHybridCommon/CommonFunctionality.swift +++ b/ios/PurchasesHybridCommon/PurchasesHybridCommon/CommonFunctionality.swift @@ -1201,6 +1201,24 @@ private extension CommonFunctionality { } +// MARK: - Health +@objc public extension CommonFunctionality { + + @objc(healthRequestWithSignatureVerification:completion:) + static func healthRequest(signatureVerification: Bool, + completion: @escaping (ErrorContainer?) -> Void) { + _ = Task { + do { + try await Self.sharedInstance.healthRequest(signatureVerification: signatureVerification) + completion(nil) + } catch { + completion(Self.createErrorContainer(error: error)) + } + } + } + +} + // MARK: - Encoding @objc public extension CommonFunctionality {