Skip to main content

I'm working on a Flutter app that uses subscriptions.

I've purchased a subscription on iOS using an Apple Sandbox User. When I run the app on iOS and check the `customerInfo.entitlements.all` content, I see two entitlements: one for the promotional trial and another for the sandbox subscription (which is correct since I’m assigning a trial entitlement when the customer is created). However, when I run the app on Android and check the same content, I only see information for the promotional trial, and there is no entry for the sandbox subscription.

Has anyone else experienced this?


Any insights or solutions would be greatly appreciated!

👇

iOS `customerInfo.entitlements.all`:

{
  trial: EntitlementInfo(
    identifier: trial, 
    isActive: true, 
    willRenew: false, 
    latestPurchaseDate: 2024-07-08T14:47:13Z, 
    originalPurchaseDate: 2024-07-08T14:47:13Z, 
    productIdentifier: rc_promo_trial_two_month,
    isSandbox: false,
    ownershipType: OwnershipType.purchased,
    store: Store.promotional, 
    periodType: PeriodType.normal, 
    expirationDate: 2024-09-07T14:47:13Z, 
    unsubscribeDetectedAt: null, 
    billingIssueDetectedAt: null
  ), 
  premium: EntitlementInfo(
    identifier: premium, 
    isActive: true, 
    willRenew: true, 
    latestPurchaseDate: 2024-07-08T15:26:43Z, 
    originalPurchaseDate: 2024-07-08T15:26:43Z,
    productIdentifier: picker_499_1m, 
    isSandbox: true, 
    ownershipType: OwnershipType.purchased, 
    store: Store.appStore, 
    periodType: PeriodType.normal, 
    expirationDate: 2024-08-08T15:26:43Z, 
    unsubscribeDetectedAt: null, 
    billingIssueDetectedAt: null
  )
}

 

Android `customerInfo.entitlements.all`:

{
  trial: EntitlementInfo(
    identifier: trial, 
    isActive: true, 
    willRenew: false, 
    latestPurchaseDate: 2024-07-08T14:47:13.000Z, 
    originalPurchaseDate: 2024-07-08T14:47:13.000Z, 
    productIdentifier: rc_promo_trial_two_month, 
    isSandbox: false, 
    ownershipType: OwnershipType.unknown, 
    store: Store.promotional, 
    periodType: PeriodType.normal, 
    expirationDate: 2024-09-07T14:47:13.000Z, 
    unsubscribeDetectedAt: null, 
    billingIssueDetectedAt: null
  )
}

Hi @brian.g , thank you for your question

Can you provide the user id that that customer info belongs to? Is it possible this is a cache issue on the Android side? Are you consistently seeing this behavior even after reinstalling and login in with the same user id?

Thanks!


Hi @Cesar , thanks for your response.

 

I’m still seeing this behavior after reinstalling and login in with the same user. But I just found there seem to be two different users in RevenueCat sharing an alias.

 

The app user id is: 2EXpU7sUOoYhsCmimBePjNPyV1e2 but there’s another user with id: $RCAnonymousID:eab559f4eeba440684e9e424e08e6631 with an alias to: 2EXpU7sUOoYhsCmimBePjNPyV1e2 , so I’m a bit confused here.

 

I’m not sure why there are two different users. One of them has the App Store entitlement, and the other one doesn’t. So, I’m guessing that when I log in on iOS I’m getting the entitlements for 2EXpU7sUOoYhsCmimBePjNPyV1e2 (which contains the app store entitlement) but when I log in on Android I’m getting the entitlements for $RCAnonymousID:eab559f4eeba440684e9e424e08e6631 (which doesn’t contain the app store entitlement).

 

One more comment on this, I also have a web application that’s also missing the app store entitlement in the CustomerInfo. So, I’m only getting the app store entitlement on iOS but not from other platforms.

Can you check on your side and provide an insight on this?

 

Thanks again for your help!


Hi @brian.g,

Thank you for your detailed answer.

How do you log in users in iOS and Android? Do you require all your users to sign up/log in in your app?

 

Best,


Hi @joan-cardona thanks for your response.

That’s correct, I’m using Firebase Auth and users have to sign up/log in for using the app. At the sign up time the RevenueCat customer is created along with its corresponding Firebase user, and both share the same id (in this case 2EXpU7sUOoYhsCmimBePjNPyV1e2).

Any ideas on how I got two user’s with alias, and why I’m getting different entitlements information depending if the user logged in on iOS vs other platforms?

Thanks again!!