Hi everyone.
I have a game in which you can buy diamonds, which I setup as consumable, because it is virtual currency with which you can unlock other characters. I also have a non-consumable which is an option to remove all the ads.
I learned that some developers were rejected, because they didn't implement a restore mechanism for those characters that were unlocked with virtual currency. So if the user bought tons of diamonds with real money and unlocked everything, if he installed the app on a different device, only the option with no ads could be restored.
My question is if it would be good practice if I would do the following: I would add all these characters as non-consumable for free, and attach the unlock non-consumable function to the "buy item with x diamonds" button. If the user had enough diamonds(either collected in the game or bought with real money), whenever he would click the "buy item with x diamonds" button, x diamonds will be deducted, but he would also get the pop-up saying he wants to unlock a non-consumable for free and then proceed. This way the characters unlocked will also be restored on other devices.
Is this good practice?
Would this be allowed to avoid implementing my own restore mechanism?