iOS "Sales and Trends" and In-App Purchases

8 replies [Last post]
shivapp
User offline. Last seen 8 weeks 1 day ago. Offline
Joined: 10 Nov 2011

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.

Replies

Bladko
User offline. Last seen 1 hour 7 min ago. Offline
Joined: 14 Dec 2011

probably iap is hacked ;/

ingemar
User offline. Last seen 6 hours 44 min ago. Offline
Joined: 20 Jun 2011

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.

shivapp
User offline. Last seen 8 weeks 1 day ago. Offline
Joined: 10 Nov 2011

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?

thassman
User offline. Last seen 1 day 14 hours ago. Offline
Joined: 18 Feb 2012

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.

shivapp
User offline. Last seen 8 weeks 1 day ago. Offline
Joined: 10 Nov 2011
thassman
User offline. Last seen 1 day 14 hours ago. Offline
Joined: 18 Feb 2012

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.

ingemar
User offline. Last seen 6 hours 44 min ago. Offline
Joined: 20 Jun 2011

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.

shivapp
User offline. Last seen 8 weeks 1 day ago. Offline
Joined: 10 Nov 2011

Thanks for the help. Apple recommends to base64 encode the receipt. Does this mean that the application has export restrictions applied to it?

Viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.