Hey @inout-4dd00c,
Thank you for reaching out. I'll be happy to help here!
We’ve noticed that some purchases of non-subscription items (not made through RevenueCat) are missing. Should we call restore
together with configure
every time the app launches, or could there be another reason for this?
In order to restore purchases, we recommend using syncPurchases
instead of restorePurchases
. The latter would prompt the user with a native OS restore prompt that could trigger a weird experience for the user, as they didn't request any.
Something to consider, though, is that non-subscription purchases will only be restored if you're using an account system with Custom User IDs. This is because these types of in-app purchases do not show up on the underlying store receipt after the transaction is finished.
We’ve noticed that for some users, calling getCustomerInfo()
after configure
is either delayed or returns empty due to an error. Is there an alternative way to access the user’s subscription status without relying on Purchases.getCustomerInfo()
?
Purchases.getCustomerInfo()
is the most reliable way to access the user's subscription status. You can add a listener to get notified when the customer information is updated. However, that would only get called once a change happened, so this is just a complementary method to add to the SDK configuration. Please check this documentation to know more.
To troubleshoot your case further, I have some follow-up questions:
- What's the error you're getting when calling
Purchases.getCustomerInfo()
? - Would you mind sending some RevenueCat logs from when you see this happening?
- Could you please send some code snippets of your SDK configuration and calls to this method?