Purchase sequence:
mobileStoreEnablePurchaseUpdates
mobileStoreSetProductType "com.runrev.sampleapp.nonconsumable", "inapp"
mobileStoreMakePurchase "com.runrev.sampleapp.nonconsumable", "1", "This belongs to me"
The purchase sequence successfully triggers a "purchaseStateUpdate" event, with a pState of "paymentReceived".
Restore sequence:
mobileStoreEnablePurchaseUpdates
mobileStoreRestorePurchases
The restore sequence does NOT trigger a "purchaseStateUpdate" event.
Because of this, I'm running into problems with two use cases:
1) User installs app, user purchases non-consumable, user deletes app, user re-installs app. The user then cannot re-purchase the non-consumable, as they get an "alreadyEntitled" pState.
2) User installs app on one device, user purchases non-consumable, user installs app on 2nd device. I thought that in this situation the user should be automatically entitled to receive the non-consumable on the 2nd device.
I realise that a work around would be to treat a "alreadyEntitled" pState in the same way that I treat a "paymentReceived" pState, but it does leave the user having to re-push the purchase button - without knowing that they will NOT be charged - which if I was the user I'd probably be too annoyed to do.
Note - I have read the following in the dictionary entry for mobileStoreRestorePurchases -
Consumable products cannot be restored, except when interacting with the Google Play Store in-app purchasing API... Which left me with some existential questions about this command

Any advice on how to get mobileStoreRestorePurchases to work for non-consumables on Google Play?
Thanks in advance
Kim