Files
purchases-ios/Sources/DocCDocumentation/DocCDocumentation.docc/Purchases.md
T
NachoSoto 64c8638425 Create separate SPM library to enable custom entitlement computation (#2440)
Fixes SDK-3084

![screenshot_2023-04-25_at_10 02
44_480](https://user-images.githubusercontent.com/685609/234360670-bd2628a1-0684-490d-a9eb-33846a60f72a.png)

## Changes:

- Added new `ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION` compile time flag
- Hidden `configureInCustomEntitlementsModeWithApiKey` behind
`ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION`
- Added new `RevenueCat_CustomEntitlementComputation` SPM target and
library
- Added CircleCI job for `swift build --target
RevenueCat_CustomEntitlementComputation`
- Added new `SPMCustomEntitlementComputationInstallation` using the new
`configureInCustomEntitlementsComputationMode`
- Added CircleCI job for `SPMCustomEntitlementComputationInstallation`
- Added `FrameworkDisambiguation.swift` to avoid using `RevenueCat.`
disambiguation for files that
- Changed API testers to only use the new methods if
`ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION` is defined
- Updated `DangerousSettings` to not expose
`customEntitlementComputation` publicly. The only way to use that now
with `public` API is through
`Purchases.configureInCustomEntitlementsModeWithApiKey`
- Updated sample app to use new library
2023-04-25 15:11:58 -07:00

4.1 KiB

RevenueCat/Purchases

@Metadata { @DocumentationExtension(mergeBehavior: override) }

Purchases is the main entry point of the RevenueCat SDK. It provides access to all its features.

Overview

The Purchases class can be used to access all the features of the RevenueCat SDK. Most features require configuring the SDK before using it.

Topics

Interacting with the SDK

  • Purchases/shared
  • Purchases/isConfigured
  • Purchases/delegate
  • Purchases/logLevel
  • Purchases/logHandler

Configuring the SDK

  • Purchases/configure(withAPIKey:)
  • Purchases/configure(with:)-6oipy
  • PurchasesDiagnostics

Displaying Products

  • Purchases/offerings()
  • Purchases/getOfferings(completion:)
  • Purchases/products(_:)
  • Purchases/getProducts(_:completion:)

Making Purchases

  • Purchases/purchase(package:)
  • Purchases/purchase(package:completion:)
  • Purchases/purchase(product:)
  • Purchases/purchase(product:completion:)
  • Purchases/simulatesAskToBuyInSandbox
  • Purchases/canMakePayments()

Making Purchases with Subscription Offers

  • Purchases/checkTrialOrIntroDiscountEligibility(productIdentifiers:)
  • Purchases/checkTrialOrIntroDiscountEligibility(productIdentifiers:completion:)
  • Purchases/checkTrialOrIntroDiscountEligibility(product:)
  • Purchases/checkTrialOrIntroDiscountEligibility(product:completion:)
  • Purchases/promotionalOffer(forProductDiscount:product:)
  • Purchases/getPromotionalOffer(forProductDiscount:product:completion:)
  • Purchases/purchase(package:promotionalOffer:)
  • Purchases/purchase(package:promotionalOffer:completion:)
  • Purchases/purchase(product:promotionalOffer:)
  • Purchases/purchase(product:promotionalOffer:completion:)
  • Purchases/presentCodeRedemptionSheet()

Subscription Status

  • Purchases/getCustomerInfo(completion:)
  • Purchases/customerInfo(fetchPolicy:)
  • Purchases/customerInfoStream

Identifying Users

  • Purchases/appUserID
  • Purchases/isAnonymous
  • Purchases/logIn(_:)-arja
  • Purchases/logIn(_:completion:)-4km90
  • Purchases/logOut()
  • Purchases/logOut(completion:)

Managing Subscriptions

  • Purchases/syncPurchases()
  • Purchases/syncPurchases(completion:)
  • Purchases/restorePurchases()
  • Purchases/restorePurchases(completion:)
  • Purchases/beginRefundRequestForActiveEntitlement()
  • Purchases/beginRefundRequest(forEntitlement:)
  • Purchases/beginRefundRequest(forProduct:)
  • Purchases/showManageSubscriptions()
  • Purchases/showManageSubscriptions(completion:)

Parsing Receipts

  • PurchasesReceiptParser
  • AppleReceipt

Subscriber Attributes

  • Purchases/setAttributes(_:)
  • Purchases/setAd(_:)
  • Purchases/setEmail(_:)
  • Purchases/setDisplayName(_:)
  • Purchases/setKeyword(_:)
  • Purchases/setCampaign(_:)
  • Purchases/setCreative(_:)
  • Purchases/setAdGroup(_:)
  • Purchases/setPushToken(_:)
  • Purchases/setPushTokenString(_:)
  • Purchases/setMediaSource(_:)
  • Purchases/setPhoneNumber(_:)
  • Purchases/collectDeviceIdentifiers()

Integrations

  • Purchases/setAdjustID(_:)
  • Purchases/setAirshipChannelID(_:)
  • Purchases/setAppsflyerID(_:)
  • Purchases/setCleverTapID(_:)
  • Purchases/setFBAnonymousID(_:)
  • Purchases/setFirebaseAppInstanceID(_:)
  • Purchases/setMixpanelDistinctID(_:)
  • Purchases/setMparticleID(_:)
  • Purchases/setOnesignalID(_:)

Advanced Configuration

  • Purchases/finishTransactions
  • Purchases/invalidateCustomerInfoCache()
  • Purchases/forceUniversalAppStore
  • Purchases/proxyURL
  • Purchases/verboseLogs
  • Purchases/verboseLogHandler
  • Purchases/allowSharingAppStoreAccount

Configuring the SDK with parameters (deprecated)

  • Purchases/configure(withAPIKey:appUserID:)
  • Purchases/configure(withAPIKey:appUserID:observerMode:)
  • Purchases/configure(withAPIKey:appUserID:observerMode:userDefaults:)
  • Purchases/configure(withAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:)