I know that unity calls process purchase when products are restored. But should I also check receipts on initialization and unlock accordingly there as well? What is the difference, it seems that on initialization is called first and it finds valid receipts. Why not just unlock there? Trying to figure out what is the best way to go about this.
You should save purchases either in PlayerPrefs or preferably on your server. On iOS, Restore is a manual process. On Google, Restore would only happen during reinstall.
Well I get that, and it is stored as a playerpref, it works that is not the problem. It is just unclear to me what the difference is. On ios and android it returns to me all products with receipts, so you can also restore products on initialization as well. For subscriptions, I need to check if they are valid on initialization for example, but I realized this was also a way to check non-consumeables and whether they are still valid (if somehow they were not restored correctly, refunded, etc) you can correct this on initialization as well. I know it might be double for non-cosumeables, since they should be restored and saved locally, but as I said for certain scenarios this might be useful. Just want to check if this is an ok-thing to do? or if this is not reliable or gives other issues.