I've developed a Flutter app tailored for both Android and iOS platforms. Within the app, we've implemented a subscription mechanism utilizing RevenueCat to manage our in-app subscriptions. One of our primary goals is to provide our users with a seamless experience, such that their subscription status remains consistent across multiple devices or platforms. To put it simply, if a user subscribes on an Android device and later logs into their account on an iOS device, their subscription status should be synchronized, reflecting their active subscription.
With this intent in mind, we've configured RevenueCat to utilize a custom user identifier, specifically using the user's Firebase authentication ID. We believed that this would facilitate the synchronization of subscription status across platforms.
Our next endeavor is to introduce promo or offer codes into our application. These codes, when redeemed, should be tied directly to a user's account, ensuring they benefit from the promotion regardless of the platform they're on.
Given this context, I have a couple of queries:
- Is our decision to use the Firebase authentication ID as a custom identifier in RevenueCat the optimal approach for our goal?
- How can we implement the redemption of promo codes in such a manner that they are tied to the user's account and their associated subscription status is correctly updated and synchronized across devices and platforms?
If our current setup with custom IDs is not the ideal solution for synchronized cross-platform subscriptions, could you recommend an alternative strategy? Our main objective is to ensure users have a consistent experience, especially concerning their subscription status and redeemable codes.
Thank you for your assistance