☄️ BREAKING ☄️
- Now methods with caching option like
adapty.paywalls.getPaywalls({caching: true})
expect you to useforceUpdate: true
flag instead. Default value isfalse
. Example:const info = await adapty.purchases.getInfo({ forceUpdate: true })
adapty.purchases.makePurchase(...)
now takesproduct: AdaptyProduct
as an argument, that way Adapty ensures that a product includes all special offers from the exact paywall it was requested fromadapty.purchases.makePurchase(...)
now remembers paywall you've fetched and doesn't need{caching: true}
flag any longer. New interface ismakePurchase(product: AdaptyProduct)
adapty.purshases.validateReceipt
was removed
💫 Non-breaking features 💫
- Errors now provide an extensive information on a problem. All errors thrown by Adapty are now wrapped by AdaptyError class with interface . You can find the full list of
adaptyCode
s here.
interface AdaptyError {
// HTTP status code
code: number;
// certain string values to define the nature of a problem
adaptyCode: "unknown" | "noProductsFound" | .... ;
// User-friendly text, which can be displayed as a message
localizedDescription: string;
}
- Now you can get and set APNS token via
adapty.getApns()
andadapty.setApns(value: string)
methods - Types are now much more exact. Types, that doesn't have both android and iOS representations are now dubbed with
@todo NO VALUE ANDROID
string within tsdoc adapty.paywalls.getPaywalls()
now returnscustomPayloadString
— stringed JSON representation of a Custom Payload fieldadapty.paywalls.logShow(variationId)
is now available. Gives a developer full control over paywall analytics
👨🔧 Fixes 👨🔧
- Within
makePurchase
method bothlocalizedPrice
andprice
values are passed without mutation (#1)
Adapty Android SDK 0.6.0 -> 0.8.4
Adapty iOS SDK 1.9.1 -> 1.12.1