I'm currently in the process of porting an existing game over from one platform to GameSparks. I have a number of non-consumable virtual goods setup which the player can either purchase with real money or gather a virtual currency in-game and trade that in for the non-consumable virtual good. I'm unsure of the best way to handle this within the GameSparks platform.
Any ideas? I would also need a way in which I can restore these purchases on iOS. I'm also looking at Unity's IAP plugin but not sure if that would then cause some confusion trying to combine that with GameSparks.
If you send an IOSBuyGoodsRequest with uniqueTransactionByPlayer set to true the the transactionId from this receipt will not be globally validated meaning it can be used again. Try that and let me know how you get on, if you have any other questions about getting Virtual Goods set up just let me know.
Do you mean uniqueTransactionByPlayer must be "true" to support restoring non-consumable purchases? That shouldn't be the case as far as I can tell, because the restore transaction is supposed to include a new transaction id (including the original transaction id as another field).