com.unity.purchasing 4.1.0
Notes: processedReleased October 15, 2021
Unity Compatibility
Minimum Unity: 2019.4
Package Dependencies
- com.unity.modules.androidjni (1.0.0)
- com.unity.modules.jsonserialize (1.0.0)
- com.unity.modules.unityanalytics (1.0.0)
- com.unity.modules.unitywebrequest (1.0.0)
- com.unity.services.core (1.0.1)
- com.unity.ugui (1.0.0)
✨ Features
- Apple - Add support for receipt validation with StoreKit Test. See the Receipt Validation Obfuscator manual for a usage recommendation. See also the sample "05 Local Receipt Validation" for an example.
- GooglePlay - Add support for controlling automatic fetching of purchases at initialization, with `IGooglePlayConfiguration.SetFetchPurchasesAtInitialize(bool)`. Use to help distinguish previously seen purchases from new purchases. Then to fetch previously seen purchases use `IGooglePlayExtensions.RestorePurchases(Action)`.
📈 Improvements
- Menu items for this package were renamed from *Unity IAP -> In-App Purchasing* and have been moved from *Window > Unity IAP* to *Services > In-App Purchasing*.
- Choosing an Android app store target before building the Android Build Target is now required. A build error will be emitted otherwise. Set this with the Store Selector window (*Services > In-App Purchasing > Switch Store ...*) or the API (`UnityPurchasingEditor.TargetAndroidStore()`). The default Android app store is now AppStore.NotSpecified and is visible in the window as ``. Previously the default app store was the Google Play Store for the Android Build Target. See the Store Selector documentation for more
- Apple - Workaround rare crash seen if `nil` `NSLocaleCurrencyCode` is received when extracting localized currency code from `[SKProduct priceLocale]` when fetching products. Substitutes ISO Unknown Currency code "XXX" into `ProductMetadata.isoCurrencyCode`.
- Removed warning log `Already recorded transaction`.
- Codeless - The default setting for enabling Codeless Auto Initialization in new projects' catalogs is now true instead of false. (As seen in the Catalog Editor as "Automatically initialize UnityPurchasing (recommended)").
🔧 Bug Fixes
- Fixed warning, missing await for async call in ExponentialRetryPolicy.cs
⚡ API Changes
- Removed the original and complex Unity IAP sample known as "Example", or "IAP Demo". Please use the recently added samples for a granular introduction to In-App Purchasing features.
