iOS "Sales and Trends" and In-App Purchases

I have an app with in-app purchases enabled on the Apple app store. It is called as 4-in-1 Kids Animal Games. Every time a user buys an in-app purchase successfully I record a flurry that says that the event.transaction.state is purchased. However, the iOS “Sales and Trends” section for In Apps shows that there were zero purchases. I do call the store.finishTransaction(event.transaction). Any ideas on where the discrepancy would be between iOS “Sales and Trends” and Flurry event?

Thanks,
Shiva. [import]uid: 103483 topic_id: 35140 reply_id: 335140[/import]

probably iap is hacked ;/ [import]uid: 111283 topic_id: 35140 reply_id: 139698[/import]

I’ve noticed that sales data can sometimes take a few days before it shows up in the “Sales and Trends” reports, especially if they originate from other app stores than the US. [import]uid: 70847 topic_id: 35140 reply_id: 139699[/import]

Good to know that. Does this mean that if my flurry event is on Jan 19th, 2013 then will Apple update the sale later as Jan 19th, 2013 or will Apple say that the purchase was made on the day that Apple got it? [import]uid: 103483 topic_id: 35140 reply_id: 139700[/import]

If you don´t do server side validation of in-app purchases, then you have no idea if your flurry event is a valid purchase or not.
There is a lot of devices out there, that is hacked in some way or another. They can execute your transaction code, without ever talking to the apple app store servers.

[import]uid: 128204 topic_id: 35140 reply_id: 139703[/import]

Thanks. Is this the right way to do it? I am using iOS 6.

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html [import]uid: 103483 topic_id: 35140 reply_id: 139705[/import]

Yes, but remember not to send the validation request to apple, directly from the device. Because the device will have no idea, if the transaction verification comes from apple or a spoofed server.

So send the receipt to your own server, from there send it to app store for verification.
Now it would be really handy if coronalabs incorporated this into coronacloud, lets hope it comes in the future.

[import]uid: 128204 topic_id: 35140 reply_id: 139707[/import]

For me the “late data” is counted on the day they are included in the reports.

Apart from the discussion above about hacked IAP, there’s also a possibility of the app being pirated. IAP validation is a good thing to do, however pirating is a completely different issue where, sadly, there’s not much you can do to stop it.

One way to detect if your app has been pirated is to Google your app name and add “IPA” to the search. If any results are returned, your app may have fallen victim to piracy.

[import]uid: 70847 topic_id: 35140 reply_id: 139710[/import]

Thanks for the help. Apple recommends to base64 encode the receipt. Does this mean that the application has export restrictions applied to it? [import]uid: 103483 topic_id: 35140 reply_id: 139768[/import]

probably iap is hacked ;/ [import]uid: 111283 topic_id: 35140 reply_id: 139698[/import]

I’ve noticed that sales data can sometimes take a few days before it shows up in the “Sales and Trends” reports, especially if they originate from other app stores than the US. [import]uid: 70847 topic_id: 35140 reply_id: 139699[/import]

Good to know that. Does this mean that if my flurry event is on Jan 19th, 2013 then will Apple update the sale later as Jan 19th, 2013 or will Apple say that the purchase was made on the day that Apple got it? [import]uid: 103483 topic_id: 35140 reply_id: 139700[/import]

If you don´t do server side validation of in-app purchases, then you have no idea if your flurry event is a valid purchase or not.
There is a lot of devices out there, that is hacked in some way or another. They can execute your transaction code, without ever talking to the apple app store servers.

[import]uid: 128204 topic_id: 35140 reply_id: 139703[/import]

Thanks. Is this the right way to do it? I am using iOS 6.

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html [import]uid: 103483 topic_id: 35140 reply_id: 139705[/import]

Yes, but remember not to send the validation request to apple, directly from the device. Because the device will have no idea, if the transaction verification comes from apple or a spoofed server.

So send the receipt to your own server, from there send it to app store for verification.
Now it would be really handy if coronalabs incorporated this into coronacloud, lets hope it comes in the future.

[import]uid: 128204 topic_id: 35140 reply_id: 139707[/import]

For me the “late data” is counted on the day they are included in the reports.

Apart from the discussion above about hacked IAP, there’s also a possibility of the app being pirated. IAP validation is a good thing to do, however pirating is a completely different issue where, sadly, there’s not much you can do to stop it.

One way to detect if your app has been pirated is to Google your app name and add “IPA” to the search. If any results are returned, your app may have fallen victim to piracy.

[import]uid: 70847 topic_id: 35140 reply_id: 139710[/import]

Thanks for the help. Apple recommends to base64 encode the receipt. Does this mean that the application has export restrictions applied to it? [import]uid: 103483 topic_id: 35140 reply_id: 139768[/import]