Tracking web app in native iphone app - iphone

I have recently got my app accepted into the apple app store but the problem I am having is that my app is a fully transactional e-commerce store and I cant seem to tell the difference between normal sales from the server and sales from the app.
Is there anyway to tell the difference between an iPhone app sale and a sale in mobile safari?
if someone could give me an answer on this I would be most appreciative.
thanks,
Chris

The user agent string used by the iphone will be quite distinct, I've seen things like
appname/1.2 CFNetwork/485.10.2 Darwin/10.3.1
Which should be enough for your purposes.

Related

Name changes for different app versions & avoiding spamming on the App Store

I have posted 2 apps on the App Store that are only for the iPad.
I now want to post the iPhone versions for the same apps.
However, I have read that Apple Guidelines state that developers spamming the App Store with many versions of similar apps will have their accounts terminated.
So I basically want to ask 2 questions:
To avoid spamming, should I not post the iPhone versions at all or post Universal app versions?
Apple asks to change name if posting same app for a different device. For iPad, I can say "game_name HD". But what about naming for the iPhone? I was thinking "game_name Pro".
Would appreciate any help very much. Thanks.
In the past, I have used the term "Pocket" for the iPhone/iPod Touch version. As in, Barnyard Bluegrass Pocket Edition.

Publish my App without going through the App store?

I have an App just for our clients, this app is based on a web system. Clients have their private authorization to login the App.
The quantity of clients is depend on the sales of the web system.
I'm not sure this private app can passed by app review, and how can I deploy this app to our client's iphone.
Sorry for my poor English, I do need help for this question, the date of selling the product is getting closer and closer. HELP PLEASE!!
See Distributing Enterprise Apps for iOS 4 Devices.
I'm sorry, but without jailbreaking (For a definition, see this wikipedia article) the recipient iPhone, you cannot get an unapproved app onto an iPhone.
Since the app is still in development, you can easily test the app on a iPhone using the iOS Development tools, however this is only a limited method of distribution: it would likely be unsuitable for general resale of an app to the public.
Finally, if an App cannot get through Apple's guidelines and approval process, they probably don't want it on their iPhones. This could be because it is illegal, has damaging content or their just being a bit monopolising.

private application for iphone

one of my client want an private application for iPhone. actually what my client need is, they want the application only for their company employees they are not interested to go for the app store for this. their company has 100+ employees. is it possible to sale the application without the app store. if its give me the solution.
Thanks in advance....
Have a look at the enterprise support for iPhone development. I believe that will let you do what you want.
Check out Apple - Support iPhone - Enterprise
If you don't want to go through Apple, you don't have to. Contrary to Apple's exhortations, this is perfectly legal. See iPhone App Minus App Store? for discussion of the technical details.

How to verify that post to website is coming from a specific purchased iPhone application?

I have an iPhone application that posts data to a web application ... and I want to only accept data posted from an iPhone application that was purchased from the iTunes store.
Is there a way to do this? Is there something (or somethings) I can pass from the iPhone app to the web application that I can use to do such verification?
Thanks much
btw, using the asihttprequest library to handle requests/responses.
As far as I know, Apple doesn't provide any information about who purchased your app. That said, there are a few ways to detect if a device is jailbroken, or if your app was cracked. So, your app could detect that and pass that information to your server.
Have you consider using iTunes Store's in-app purchasing to handle the payment?
Thanks.
You could generate some kind of checksum/hash which you thenvalidate on the server, e.g.
http://example.com/something?timestamp=143531&checksum=17
In this example the hash is just the sum of the digits in the timestamp but you'd probably want to use something a bit more secure.

How to ensure that the app was purchased from app store?

Is there a way to confirm (programmatically) that the application was purchased from AppStore?
Or, maybe, there is a way to get a list of devices IDs from AppStore that purchased my app?
The reason is the willing to determine if the application was legally purchased or not...
I know that there is a way to know that the in-app purchase took place.
Maybe I can check for a paid app purchase too?
The solution may be inside the iPhone app or some check in server side.
The application that I develop is about to get a content from the web server.
Usually (by browsing my client's site) this content is not free and he wants to be sure that users that get the content by using an iPhone app (that I develop) did pay for the app.
Check out these related questions:
Iphone App store - Verifying paid customer
How to programmatically determine if DRM was removed from iPhone application?
Determining if an iPhone is Jail broken Programmatically
My previous Stack Overflow question may help you out: Reducing piracy of iPhone applications
No, but see this related question for information on how to potentially detect that your app has been tampered with in order to allow it to run as a bootleg.
The in-app-purchase-style verification has struck me as a good way to do this, but Apple doesn't currently support it. It might be worth a bug report.
I don't know of anyway of "confirming that the application was purchased from the appStore". I don't think there's any bit that's flipped or "thing" you can check to see.
Sorry.
But if you do learn of such a thing, let me know.