Solved

Whats the Best way to listen to an active Subscription


Badge +3

Hey RC community 

could someone please tell me the very Best way to check for an active subscription ?

My Current implementation is 

customerInfo.entitlements.active.isNotEmpty

at One Point my implementation was  listening to the expiration date

customerInfo.latestExpirationDate.

then  added 3 Days to it , which would give the user at least 3 days to have premium service, should in case there’s subscription verification delay from RC database, I implemented this because I have noticed that sometimes when I Hot Restart my App, 1 out of 50 times it loses Subscription and then it regain after another hot restart  , this mostly happened when its time for the Sandbox to renew the subscription, by adding a Day or more to the current subscription latestExpirationDate. it give a lot of room for the server to correct itself and not make customer lose premium service.

I don't know if this behavior only exist in debug mode.

 

could someone please tell me, if I should be be worried about this in production .

 i’m just a day or two from submitting my project for review 

 

Regard!

icon

Best answer by Michael Fogel 2 June 2023, 01:29

View original

3 replies

Userlevel 4
Badge +6

Hello! 

 

The simplest way to check if a subscription is active or not would be checking if your entitlement offered isActive or not by checking the customerInfo object. A code example of this can be found here

if customerInfo.entitlements[<your_entitlement_id>]?.isActive == true {
// user has access to "your_entitlement_id"
}

 

Your current implementation seems close to the one that i referenced above, and that should return the entitlement being active when it is active. As for your sandbox bug, We dont normally see that in production but I would recommend checking against if the entitlement is active or not and keeping it simpler just in case! 

Badge +3

Thanks Chief!

Userlevel 4
Badge +6

No problem, glad I could help! 

Reply