How do I find out if our game was pre-ordered on the iOS App Store

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.

1 Like

Thanks, @JeffDUnity3D , that makes perfect sense, not sure why I didn’t realize that before.

I guess I’ll have to figure out how to get the purchase information natively.

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

https://pastebin.com/aYrR3i3j
https://pastebin.com/tJya27b0

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

Full iOSHelper.mm => https://pastebin.com/dLZfn2Wx
Full iOSHelper.h => https://pastebin.com/B42v1Vpk

Thanks but this is not related to IAP so I’m locking this thread. App purchases are separate from In-App purchases.