Hello there, we are trying to implement Subscription into our game. We already implemented in-app purchases with PlayFab validation, but PlayFab's validation requires an item to exist so the it can cross-check the id's of the purchase and the item.
I'm looking for the best and most secure way to implement this. Now that I've read couple of forum messages that currently, PlayFab is working on Subscription feature which is only available to Enterprise and Pro users(since it is in beta I think?). Is this feature close to it's release so maybe we can use it? Or should we somehow implement subscription our own way?
If we were to implement this with our own way, what is the best possible approach here? Here are the options that comes to my mind:
- Make an item which is just a blank item(in order to make validation) and if the validation is success, I will keep the subscription's expire date in player data and check this data on some occasions(menu changes, or on app start etc.). In the case of auto-renewal, I will control the subscription's state(which I can do with Unity's IAP system) on some occasions(again like in menu changes, or on app start etc.) and decide to keep VIP benefits of the player or not.
- The other option was to use a limited time item and check the item exists but I decided this option isn't good since there is a free-trial option in Google Play which we are using, and I need to remove the item in case if the player cancels the subscription after free-trial period.
The only thing that concerns me is a way to validate auto-renewals. In the case that I've implemented the first option, I would know if the player's subscription is over, in this case, I would receive the current subscription info of the player with Unity's IAP(check this in case anyone needs) and detect if the player's subscription is renewed, and then re-apply the whole process again.
Please note that we are using Unity 2018.2.12 - UnityIAP 1.21 and developing the game only on Android.