I'm nearing the end of the development cycle for my first Unity game. The aim is to target Windows (UWP) first, then Android, then iOS. The game is currently using Unity Analytics, IAP & Remote Settings. I've abstracted out each service class as below, the idea being it would be simple to replace the Unity layers if needed...
IAPManager -> UnityIAPManager -> BaseIAPManager
But I've hit a few issues\limitations on the way and am thinking of making a late switch to Playfab. Upon looking at the Playfab documentation online, I'm a little confused as to what Playfab is able to offer in regards to IAP.
With Unity's service, I setup the product catalogue locally (and in each app store) then make the required call (using InitiatePurchase to purchase the actual product). It means I don't have to learn (or deal with) the various platforms API's, only Unity's.
I had assumed Playfab's would work the same way (setting up a product catalogue, albeit online) then using PurchaseItem which would make all the magic happen (receipt validation aside)
But after digging around and looking at various tutorials, it seems this isn't the case? It looks like Playfab is more being used to track purchases (and handle receipt validation) but I will have to learn\use each platforms API to make the actual purchases (which would be a deal breaker for me)
Hopefully I'm wrong and am just misinterpreting the online docs. Any advice would be much appreciated.