Hey @Gabriel_Ulu ,
You can use the `SyncPurchases` method for that (https://github.com/RevenueCat/purchases-unity/blob/main/RevenueCat/Scripts/Purchases.cs#L588)
This will do a restore without refreshing the receipt, so like you said, it might be incomplete, but will still cover a large number of cases.
If you call `LogIn` afterwards in your app, you should call `SyncPurchases` again after `LogIn` so that if a purchase got transferred to an anonymous ID, it gets transferred back. More information about that here https://docs.revenuecat.com/docs/user-ids
Hi @Andy,
My understanding is that SyncPurchases would still result in the local subscription being linked to the current Revenue Cat user.
We'd like to know before such a transfer, that we have a local active subscription to actually transfer. We’d like to get the device’s subscription status, without linking it to the current user.
This is because our app is cross platform and transferring the iOS subscription from User A to User B would mean another (Android or iOS) device using User A credentials would lose access to the game. What we want to do is give the user some understanding about what is going on with his subscription to limit customer support.
Ohh I see.
That’s a use case that I don’t think we cover. We don’t currently expose any methods that introspect the receipts / tokens _without_ posting them to the backend.
You could check whether the user has an active subscription in RevenueCat, and if they don’t, warn them that if they have an active subscription through App Store / Google Play and they log in, it’ll get transferred out.
Then you can provide a button with a link to:
https://apps.apple.com/account/subscriptions on iOS
https://play.google.com/store/account/subscriptions on Android with Google Play
So that they can check their subscription status themselves.
Sorry we hadn’t thought of this case yet
Another issue of not being able to fetch the local subscription status is that we're not able to manage the user logging out of our account system (or uninstalling/reinstalling), creating a new account, getting to the shop and purchasing a second different subscription (we offer a monthly and a yearly subscription).
On Android, this leads to the user paying for 2 subscriptions as the Revenue Cat's SDK does not seem to handle the Upgrade/Downgrade of Android subscriptions.
If he purchases the same subscription he had before, we get the PRODUCT_ALREADY_PURCHASED error (6) and silently sync the user's purchase to his account, but we cannot do anything about the user selecting the other subscription product.
@Gabriel_Ulu
Our SDK does provide the ability to handle upgrades and downgrades by passing in the old product information (see https://github.com/RevenueCat/purchases-unity/blob/main/RevenueCat/Scripts/Purchases.cs#L333).
However, the only way for it to work is to go through syncPurchases first, which will transfer the purchase, like you pointed out previously.