Question

Grant Promotional updates correctly CustomInfo on iOS not Android (using Flutter)

  • 22 March 2024
  • 1 reply
  • 16 views

Badge +1
  • New Member
  • 0 replies

Hi everyone,

I’m using flutter to develop a feature that grant promotion access to an entitlement.

The process is :

1 - Client send it’s original_app_user_id to the backend server

2 - The backend server perform an API call to "https://api.revenuecat.com/v1/subscribers/#{user_id}/entitlements/#{entitlement_id}/promotional"

3 - RevenueCat send status 201 response back

4 - The backend send success to the Client

5 - The client should refresh the customInfo (through restore purchase)

This process works fine on iOS, the subscription to the entitlement is active. But on Android, it does not seems to work. Even after 5 minutes (which should clear the cache) the customInfo does not show the new subscription, even after killing and launching the app.

I’m pretty sure it should work as it is, because it works on iOS. Can someone help me out ?


This post has been closed for comments

1 reply

Userlevel 2
Badge +5

Hi! I took a look at your two projects, KidCast iOS and KidStory, and it looks like only the KidCast iOS project has an api key attached to it. I can see the logs for that project that show you making the Grant Promotional Entitlement endpoint call successfully. However, your KidStory project does not appear to have an api key attached to it and the logs show that no calls to that endpoint have been made for that project. You will need to have a separate api key, which is tied to that project, in order to grant the users from that project Promotional Entitlements. I also just wanted to double-check that you intend for the users of your iOS app and your android app to be contained in two different RevenueCat projects. If so, you will not be able to allow users to share subscriptions across platforms. If you want your users to be able to do so, the apps will need to be contained in the same project. Here is our documentation on how to share subscriptions across platforms.