Skip to content

Releases: needle-mirror/com.unity.purchasing

5.0.0-pre.4

06 Feb 12:08
Compare
Choose a tag to compare

[5.0.0-pre.4] - 2025-02-04

Changed

  • GooglePlay - Billing Library updated to 7.1.1 (was previously 6.2.1). No new feature support was added.
  • GooglePlay - GooglePlayProrationMode has been replaced with GooglePlayReplacementMode to match the Google Play Billing Library.
    • GooglePlayReplacementMode.Deferred has been changed from 4 to 6 to match the Google Play Billing Library. This change was also applied to GooglePlayProrationMode.Deferred.
    • GooglePlayProrationMode has been marked [Obsolete]

Fixed

  • Apple - Added missing callbacks for StoreKit 2.
  • Codeless - Fixed an issue where PayoutDefinition defined in the IAP Catalog was not being used.
  • IAP Catalog - Fixed an issue where CatalogPopupProductType was on the wrong namespace (Editor instead of UnityEditor.Purchasing).
  • IAP Catalog - Fixed an issue where the Unknown product type was available in the catalog.

5.0.0-pre.3

13 Dec 19:10
Compare
Choose a tag to compare

[5.0.0-pre.3] - 2024-08-21

Added

  • Apple - Updated to StoreKit 2.
    • All features previously in StoreKit 1 are still supported.
    • New features from StoreKit 2 will be supported in a later release.
    • StoreKit 1 is no longer supported and iOS devices will require iOS 15.0 or later.
    • Added support for AppAccountToken, allowing associating purchases with an app-specific account identifier. It can be set using SetAppAccountToken(Guid token) on the StoreExtendedService (e.g., IAppleStoreExtendedService.SetAppAccountToken), and it is also exposed in the IAppleOrderInfo interface for better integration with order details. For more details, see AppAccountToken documentation.
  • Apple - Updated PrivacyInfo.xcprivacy to reflect that IAP no longer uses required reason API.

Changed

  • Apple - CrossPlatformValidator is no longer used for receipt validation for Apple since StoreKit2 does it.
  • Apple - Receipt obfuscation for Apple has been removed.
  • Apple - Product.appleProductIsRestored is now obsolete since it's no longer used with StoreKit2.

Fixed

  • Fixed Non-Consumables being treated as Consumables (introduced by Unity IAP 5.0.0-pre.1)

5.0.0-pre.1

14 Aug 16:11
Compare
Choose a tag to compare

[5.0.0-pre.1] - 2024-07-26

In-app purchasing 5.0.0 is a major overhaul of this package.
Consult the Coded IAP 5.0.0 Sample for a complete example of how to use this new version.

Added

  • Retry Policies:
    • Add StoreService.Connect method which initiates the connection to the store.
    • Add IRetryPolicy interface that can be implemented to provide a custom retry
      policy. IRetryPolicy.ShouldRetry(IRetryPolicyInformation) determines if the request should retried and can wait
      before retrying.
    • Add basic implementations of the IRetryPolicy such as ExponentialRetryPolicy
      , MaximumNumberOfAttemptsRetryPolicy, NoRetriesPolicy and TimeLimitRetryPolicy.
  • New callbacks on IAP Button and IAP Listener for all the events

Fixed:

  • Apple - Fixed SubscriptionPeriodUnit to return the correct values: Week = 1, Month = 2 (previously Month = 1, Week = 2)
  • Apple - Fixed isFamilyShareable on tvOS to be only available on supported versions (14.0 and above).
  • Apple - Error codes when a purchase fails now always returns the code from Apple instead of defaulting to SKErrorUnknown.

Changed

  • IAP logs are prefixed with InAppPurchasing.
  • IAP Catalog
    • Removed Apple Configuration, Google Configuration and Catalog Export from IAP Catalog since this is no longer supported by the stores.
    • Moved the Google Configuration Price under Descriptions which is displayed when products havn't been retrieved yet or in Fake Store
  • Assemblies starting with UnityEngine.Purchasing have been renamed to Unity.Purchasing

Removed

  • Support for Windows Store (Universal Windows Platform)
  • Support for the Unity 2020 Editor and Engine. Please upgrade to Unity 2021.3 or later.
  • Android - Support for the Unity Distribution Portal via the In-App Purchasing package. You may still use the Unity Distribution Portal in older versions of In-App Purchasing, or by writing your own implementation of the Unity Distribution Portal SDK directly, or as a custom store.
  • Support for Legacy Analytics (com.unity.modules.unityanalytics). Please use Unity Game Services Analytics instead (com.unity.services.analytics).

4.12.2

18 Jul 12:13
Compare
Choose a tag to compare

[4.12.2] - 2024-07-17

Fixed

  • GooglePlay - Fixed Product.receipt's price_amount_micros returning a string instead of a long.

4.12.1

16 Jul 09:08
Compare
Choose a tag to compare

[4.12.1] - 2024-07-11

Changed

  • Apple - The change where Product.appleProductIsRestored was no longer sent to ProcessPurchase has been reverted.

Fixed

  • GooglePlay - Fixed an issue where a warning was output in the logs when retrieving purchases.

4.12.1-pre.4

02 Jul 23:08
Compare
Choose a tag to compare

[4.12.1-pre.4] - 2024-07-02

Fixed

  • GooglePlay - Fixed an issue that happens on Windows when disabling the IAP Dependencies.
  • GooglePlay - Fixed an InvalidOperationException that could occur when obtaining purchases. (Since Unity IAP 4.6.0)

4.12.1-pre.3

26 Jun 22:10
Compare
Choose a tag to compare

[4.12.1-pre.3] - 2024-06-26

Changed

  • Apple - Retrieved purchases from the store will be considered as appleProductIsRestored.
  • Apple - Product.appleProductIsRestored will no longer be sent to ProcessPurchase since they have already been processed.
  • Apple - The changes above will improve Analytics data by avoiding duplicate purchase events.

Fixed

  • GooglePlay - Fixed an issue where dependencies were added after dependency resolution happened resulting in an error.
  • GooglePlay - Fixed Product.receipt's price_amount_micros returning the price instead of the price in micro-units.
  • GooglePlay - Fixed NullReferenceException occurring when retrieving products on Unity Engine 2021.2 and earlier.
  • GooglePlay - Fixed OnProductReceived callback not being fired with an invalid ProductID.

4.12.1-pre.1

12 Jun 10:11
Compare
Choose a tag to compare

[4.12.1-pre.1] - 2024-06-06

Fixed

  • GooglePlay - Fixed errors related to CloneReference on Unity Engine 2021.1.

Removed

  • Removed unnecessary Android dependency, androidx.activity:activity-compose:1.3.1, which could cause conflicts with other plugins.

4.12.0

05 Jun 20:59
Compare
Choose a tag to compare

[4.12.0] - 2024-06-04

Added

  • GooglePlay - IGooglePlayStoreExtensions.GetObfuscatedAccountId(Product product) has been added to obtain the obfuscated account ID of the purchase set with IGooglePlayConfiguration.SetObfuscatedAccountId.
  • GooglePlay - IGooglePlayStoreExtensions.GetObfuscatedProfileId(Product product) has been added to obtain the obfuscated profile ID of the purchase set with IGooglePlayConfiguration.SetObfuscatedProfileId.
  • Apple - Added visionOS support

Changed

4.11.0

11 Mar 16:11
Compare
Choose a tag to compare

[4.11.0] - 2024-03-06

Added

  • GooglePlay - IGooglePlayConfiguration.SetMaxConnectionAttempts(int maxConnectionAttempts) has been added to specify the max connection attempts to the Google Play Store.
  • Apple - Added privacy manifest to comply with Apple's new privacy requirements. More details on how the Unity Engine supports this can be found here.
  • Added ConfigurationBuilder.logUnavailableProducts to specify if unavailable products should be logged.

Changed

  • GooglePlay - The default max connection attempt to the Google Play Store has been increased from 1 to 3. See IGooglePlayConfiguration.SetMaxConnectionAttempts to configure this to a different value.
  • Apple - The log when retrieving products (SKProductsResponse) now also contains the invalid products count.
  • Improved IStoreListener.OnInitializeFailed for InitializationFailureReason.NoProductsAvailable by adding a message to clarify whether the store returned products or not.

Fixed

  • GooglePlay - Fixed AndroidJavaObject not being disposed causing a global reference table overflow in an edge case.
  • GooglePlay - Fixed bug causing BillingClient duplication resulting in ANR.
  • Apple - Fixed isFamilyShareable on tvOS to be only available on supported versions (14.0 and above).
  • Apple - Error codes when a purchase fails now always returns the code from Apple instead of defaulting to SKErrorUnknown.
  • Fixed Analytics' transactionServer being null.