According to Apple, there should be a preorder_date value in the receipt if our game was pre-ordered on the iOS App Store. However, I do not see this field in either AppleInAppPurchaseReceipt or Product. Am I missing where I’m supposed to access this information or is it simply not there?
On Android you just specify an IAP for pre-orders which is easy enough, but I would also like to be able to reward iOS players if they pre-order the game.
Unity IAP works on in app purchases only, not the game purchase itself. We only receive receipts for IAP products. You may need to make a native call to get this information.
Clipping from the correspondence for those who can solve the problem =)
I recently looked into this issue and wrote some solution, which I think is correct. However, I cannot check it because for this you need to release the application. If you know how to test pre-order purchase, you can try this solution. It is enough to add several methods to iOSHelper.mm (do not forget to add the function prototype to iOSHelper.h file). I am also attaching a test script with a function call from iOSHelper.mm
I think that when downloading the application by pre-order the recipe should already be in the application and then checked by the method from the Apple documentation (verifyReceipt). My modifications in iOSHelper.mm just get the recipe from the application if exist