According to docs restoring transactions for non-consumable IAPs only works for first session of reinstallation: https://docs.unity3d.com/Manual/UnityIAPRestoringTransactions.html I want to add "remove ads" IAP to my game. Isn't it convenient to check if user have this item or not for every session start ? By default, restoring transactions works only once when user deletes the game and reinstalls it. So, I need to store this information by using less secure ways like PlayerPrefs. I don't want to do this because of security concerns. PlayerPrefs or any other local file based options can be edited easily by user. Is it possible to force restoring products every time user starts the game ? I understand on iOS this is not possible because user needs to enter password to restore products but on Android this is not needed. I am using codeless IAP and I am able to this by some hacks (by editing IAPButton.cs's OnInitialized method) but this doesn't look like appropriate method.