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

124 lines
4.1 KiB
Markdown

# ``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:)``