Lifetime purchase not upheld - is this intentional?

Description

It appears that AudioRelay’s prior IAPs are not being upheld or transferred to the alpha version from version 0.26.1, due to the use of different in-app purchase IDs. This feels like it should be announced more clearly if intentional, as it’s a change regarding an advertised lifetime purchase. There was an attempt to start a conversation over email regarding this issue, but a conclusion was not reached.

Devices

Phones:
Android 16
Google Pixel 8 Pro
AudioRelay 0.26.1

iOS 18.7.2
iPhone XR
AudioRelay 1.0.0-alpha04

Desktop:
MSI, Windows 11
AudioRelay 0.27.5

Slight update, maybe it’s a bug. I maintain access to my lifetime subscription if I update the app from the Play Store version to Alpha 4, and stay signed out of the AudioRelay account. Once I sign in to attempt to sync my premium status, it locks out to free and ignores all attempts to restore purchases.

@sf64 Definitely not intentional! The issue was that I updated a dependency (RevenueCat) a bit too fast. It should be fixed in the latest early access build. (1.0.0-alpha05+)

Some notes, not that important as a user but, just in case…

  • The app uses the RevenueCat dependency to handle billing. RevenueCat itself has a dependency on Google Billing.
  • The RevenueCat version used by AudioRelay 0.x.x consumes lifetime purchases instead of letting them be. Consuming a purchase is useful in games when a user buys an in-game currency for example (It’s corrected in recent RevenueCat versions)
  • In 1.0.0-alpha04, I updated RevenueCat to its latest version which used the latest Google Billing. Unfortunately, the latest Google Billing removed the ability to query consumed purchases. So RevenueCat can’t find your past purchase as it has been consumed.

Premium is still there if you upgrade from 0.x.x to 1.0.0-alpha04 because RevenueCat saved some data on the device.

It’s fixed in 1.0.0-alpha05 by reverting to a version of RevenueCat that uses a slightly older version of Google Billing that still allow querying consumed purchases.


Future updates of this dependency shouldn’t cause any issues as they have implemented a workaround: Add AIDL to query purchase history inapp products by tonidero · Pull Request #2872 · RevenueCat/purchases-android · GitHub