sending request to apple - from iphone custom application - iphone

Let me explain the application.
Before starting my question, I would like to say the following. (for specification of my question)
For example
in Mac os
User Starts iTunes
User Clicks on iTunes Store
User can see the different applications, videos etc.
After he will select specific application/video to purchase it.
ID - Password is required.
( this entire process is before the purchase, means doesn't require any apple id password )
I have to develop an application which fulfill same requirement as iTunes have. But I am not able to even start it.
User starts my application
User can see the all applications developed by my Company. ( Say for example my company has 10 applications developed. )
Items are in table view. or may be other control.
In short I have Items, The thing that I Require is " How to send request to apple / when user select my application to purchase? Or what to do - I have no idea about it. "
user clicks and add items to cart.
OK. Now here my question starts.
How to send
request to apple - server when user
taps on specific item ?
What kind of / How many accounts / certificates are required to do the above task ?

I'm no expert on this but I have a strong feeling that Apple isn't going to allow purchases on its store using a third-party application. What exactly are you trying to do?

http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html
You can use In-App Purchase to unlock additional features of your application, to enable or download additional data sets, or even sub-products of your main product (the guide above specifically mentions a game with multiple smaller games that can be purchased.
You cannot use In-App Purchase to build your own App Store.

you should read in app purchase guide on apple's site

Two options:
As stated above, use the in-app-purchase mechanism, with the limitations posted by cdespinosa
Simply forward the user to the iTunes link for your applications.
Here comes a little example snippet that is pointing towards a piece of music - same works for applications - use the iTunes link-generator on the Apple site for this purpose:
http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/itmsLinkMaker
#ifdef TARGET_IPHONE_SIMULATOR
NSString *buyString=#"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=314186312&id=314186290&s=143443&uo=6";
#else
NSString *buyString=#"itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=314186312&id=314186290&s=143443&uo=6";
#endif
NSURL *url = [[NSURL alloc] initWithString:[buyString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
[[UIApplication sharedApplication] openURL:url];
[url release];

Related

In-App-Purchasing iPhone application?

I am facing problem on In-App-Purchasing in my iPhone/iPad application.
My Issues are :
1> What is the use of Shared Secret - Where we have to use this?.
2> How we can all our application form store?
3> How we can test our application?
4> To enable in app purchase - We need application on app store?
Please give me some guide line for implementing in app purchasing.
Thank you.
I am gone through the apple process to enable in app purchase but I dn't know what I missed in my steps that's why I need more clear steps to understand the In-App-Purchasing with in my application?
Basically I need full steps for In-App-Purchasing.
Thank you.
Start with reading the Apple "In App Purchase Programming guide": https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html
1)http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html YOU CAN FIND YOUR ANSWER HERE.
2)Sorry, didn't get you on this one
3) To test in-app-purchase
step1: log into iTunes connect, Navigate to manage your applications-->add new application (FILL THE INFORMATION)--> Availability date can be set at a later stage, select the price range-->enter the METADATA.
step2: Navigate to contracts, Tax & banking section in Itunes Connect & complete the IOS PAID APPLICATIONS CONTRACT.(Enter bank details, tax & contacts).If your app is free complete IOS FREE APPLICATIONS CONTRACT as well.
step3: Navigate to the manage users section & create a TEST user account.
step4: ADD products to your application.
step5: Transfer the application to your device using developer provisioning profile. The developer provisioning profile should use the SAME BUNDLE ID which was used while adding the application. before transferring the application navigate to settings--> store--> logout from any iTunes user account.
4) There IS NO NEED for APPLICATION TO BE ON APP STORE TO ENABLE IN APP PURCHASES.
I don't fully understand what you exactly need
Apple has a really good documentation on The Store Kit framework.
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html
I myself never created something for in-app purchase but to clarify a little bit.
I believe there are 2 ways to implement this
one is writing predefined stuff in youre source
for example, in infinity blade they let you buy extra gold.
The user asks for the list of available purchases from the app store the app store produces a list of in-app identifiers (which are predefined in code and on itunes connect)
the user selects for example "10.000 extra gold" for 0.99 dollar cents
The transaction will be made to the app store, the app store after succes returns a ok message in which the code should have a listener implemented that basically in this example add 10.000 to your "currentGold" variable.
The other way I don't know much about is connecting via an app to app store which in his turn connects to a server that is set up by you.
From what I can gather is that is what is being uses for level unlocks in for example sudoku games etc
as for Testing the purchase.
Whenever you have store kit implemented and try to connect it in the iOS Simulator.
The simulator automatically connects to a Sandbox envirenmont and therfore simulates the payment too

Is It Possible To Add A "Rate This App" Link To My App?

Here's what I'm trying to do: I have a button on the settings page in my app - I want this to direct users to the review/rate page on the app store.
I know this is possible using [[UIApplication sharedApplication] openURL: .... ]; but my app is unreleased as of yet, so I don't have a URL to use.
Is it possible to implement this functionality for an unreleased app, or would I have to wait and include it as an update?
Thanks :)
The URL below is what you're looking for.
Just replace the 368754825 after id= with your app's Apple ID from iTunes Connect. This will take you right to the review page and won't have all the redirects like a normal link. Your App's Apple ID will not change between now and when it's on the store.
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=368754825&pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8
Update:
I tested the link I posted more than a year ago. It still works. The idea is that it won't work until your app is live. I know there's some concern about putting this link in and shipping before actually verifying it works, but it's the best option for having a review link in a 1.0. You can alternatively submit a 1.0.1 update (with link) right after 1.0 (without link) is approved which means you're only missing out on about a week's worth of reviews.
This is newest format for creating review form links on iOS (only works for iOS devices) [tested on 4.2]
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=412843648
Replace the final string of 9 numbers with your app's application ID from iTunes connect or your iTunes url. This link when launched from an iOS device takes you directly to the reviews
Yes you can add a link.
What I did for one of my apps that wasnt released yet was point to a certain URL, like: http://www.wrightscs.com/ios/myapp/review.html which just contained an http redirect.
Once my app was released and I had the iTunes Store link, I just updated the review.html page with my apps URL.
So now my app opens the review.html link, but in return gets redirected to my app in the app store.
First of all you have all the data about your app when creating it on iTunes connect. The thing you need here is the "Apple ID" (you can find it on iTunes connect under the app information).
After taken this number you can use it inside your app (even hard-coded) asking users to rate it or any other thing you want to do with it.
You can use this code for doing so, This method would open the rate page for your app on the App Store without opening safari on the way like other methods here (I've put all code which seems easier to understand sometimes):
static NSString *const iOSAppStoreURLFormat=#"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%u";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:iOSAppStoreURLFormat, (unsigned int)YOUR_applicationID]]];
Where YOUR_applicationID is the one you took from the app store (Apple ID).
I suggest you test that with a working app (active on the app store, even not your, You can use this one for example: 474785950) and change it afterwards. Pay attention to download the app you are rating to your device/account (You can always know the Apple ID of working apps from the link itself : http://itunes.apple.com/us/app/i-ruler/id474785950?ls=1&mt=8 it's the number just after the "id").
Moreover, For this topic I have some other things that should be considered:
1. Apple can reject your app if you are asking users to rate your app with 5 stars, Many developers does that and don't get rejected but I've been rejected couple of times just for that. Beware!
2. Asking users for just a rating mostly doesn't have a good effect, Great feedback comes only after the user used the app and really enjoyed that (users are really used to popups asking them to rate and just skip it). Also if user want to skip this process for now you want to try asking him later, And most importantly you want to ask the user to rate your app after an update (that is super important because rating is for each version!). To solve this case I suggest using iRate (or build something custom using that as starting point) which is very easy to integrate and it can ask for rating only after several days/opening times etc. and remembers to do that for each version. Can download it from: https://github.com/nicklockwood/iRate/tree/master/iRate
I think that the direct link to 'write the review' is undocumented. It is better to give link to the app and it will be up to user to write the review.
You can get the link to your app from your account in iTunes Connect.
You will get the link once you add a new application (not necessarily upload and make it live). That link will open your app regardless of the platform (iPhone, Mac, PC).
That link will not work un till the app is live.
This method worked for me!
Swift 2 version this code works for iOS 9:
let appId = "12345678"
let url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(appId)"
UIApplication.sharedApplication().openURL(NSURL(string: url)!)

URL for sending a user to the app review page on device's app store

What's the URL to launch in order to bring the iTunes App Store to the front, and open it to show the Reviews page of an app?
I want to send my users to the "Write a Review" page.
Some other SO answers provided URLs like the one below, but it doesn't seem to work:
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=12345678&pageNumber=0&sortOrdering=1
Any suggestions for a URL that'll work on iPhone and iPad?
Update: iOS 4.2 seems to have fixed this and links now open the App Store app directly rather than the review page.
This article Dissecting iTunes links explains everything.
Heading straight to a review form
It’s also possible to send someone
straight to the review form for an
app.
https://userpub.itunes.apple.com/WebObjects/MZUserPublishing.woa/wa/addUserReview?id=337064413&type=Purple+Software
Simply replace the ID with your app’s
ID to create a URL for your app.
On a desktop or laptop, this will take
you directly to the review form in
iTunes for the app or item. On an
iPhone or iPod touch, this will open
MobileSafari, then open iTunes or the
App Store app on the reviews page,
leaving the user only one tap away
from writing a review.
To find out an item’s ID, right (Mac &
PC) or control-click (Mac) on a link
to the item in iTunes and select Copy
Link. The result will look something
like this.
http://itunes.apple.com/au/album/dig-your-own-hole/id19605549
http://itunes.apple.com/au/app/consume-mobile-isp-packages/id337064413?mt=8
The ID is the number in the URL after
“id’.
It might be worth noting that this URL
was created using iTunes 8. I don't
think there’s a way to create review
links in iTunes 9, so maybe this URL
is being phased out. Use with caution.
Update: #mareMtl has provided an
alternative review link for apps.
Please note that it only works on
iPhone OS devices.
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=337064413
I tried a bunch of different links, this is only one working for me on iPhone AND iPad consistently:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8&id=YOUR_APP
Check out Appirater - http://arashpayan.com/blog/index.php/2009/09/07/presenting-appirater/
Every time the user launches your app, Appirater will see if they’ve used the app for 30 days and launched it at least 15 times. If they have, they’ll be asked to rate the app, and then be taken to your app’s review page in the App Store.
this works for me:
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=584691809
Am using Appirater for Rating my App
These links in AppiRater
// for ios6 or earlier
NSString *templateReviewURL = #"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=APP_ID";
// for ios7
NSString *templateReviewURLiOS7 = #"itms-apps://itunes.apple.com/app/idAPP_ID";
These links works fine .
But takes me to "Details" page of the app .
But it should go to "Ratings and Reviews" page..
suggest me any idea
Thanks
iTunes has a link maker you can use to get the URL. Tested on my app. It works.
For Requesting for rate and review to user after iOS 10.3+
The SKStoreReviewController allows users to rate an app directly from within the app through a dialog box. The only downsite is that you can only request StoreKit to display the dialog, but can't be sure if it will.
import StoreKit
func requestToRate() {
SKStoreReviewController.requestReview()
}

Is there any mechanism provided by Apple Store to make the user sign-up to my website before he/she can download the application?

I am creating an iphone application that requires the users to have an account at my website.
But if i have to distribute it through apple store, how should I make the users of this Iphone Application first create an account with my website. There could be a few options like :
1) Ask the user to create an account when he/she tries to run the application on iphone.
2) Provide a 'Sign-Up' page in the Iphone application itself.
My question is "Is there any mechanism provided by Apple Store to make the user sign-up to my website before he/she can download the application".
Kindly give in your suggestions for the same. Which would be the best approach for solving my problem.
Thanks,
LG
There's no way to do this through the app store.
Yes: your two options are to create a sign in / sign up screen with cocoa, or to display your login webpage with a NSWebview.
I'd recommend the native control route...
No, you can't do that through Apples App Store.
You could provide the user with aviability to register to your site when opening your app, throug, say a NSWebView.
There are many ways to solve this, just not the one you might like.

How can I allow affiliate links to items in my iPhone app?

I'm making an iPhone app that has information about different video games. How can I implement a shopping API that will allow me to redirect users who choose to buy a game?
In other words, I'm looking for some kind of affiliate program API that works with the iPhone and lets me place item buy buttons that redirect the user to a product page.
Thanks.
Your intent is unclear. Are you trying to sell content for your application? If so, there is an established, Apple-approved way to do this:
http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StoreKitGuide/AddingaStoretoYourApplication/AddingaStoretoYourApplication.html
If you're trying to sell something non-iPhone-related, you should redirect to a web page that actually handles the transaction. You can do this as a link that opens a page in Safari, or as an embedded UIWebView.
The first approach is simplest:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: #"http://www.google.com"]];
The second a little more complicated:
http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIWebView_Class/Reference/Reference.html
If your question is really asking how to build an entire product purchase API, then, not to sound sarcastic, I suggest this site as a useful starting point:
http://www.amazon.com/books/
what about pointing to the itunes page, e.g.
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
if you replace "itunes" by "phobos", the app store will be opened when using the iphone to open the linkg, e.g.
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
Sorry, I may be misunderstanding what you are asking but I'm interpreting your question as you want to create an "app discovery" app where you recommend other iOS games in the App Store. If this is correct then you will want to use the iTunes / App Store Affiliate Program.
More info here -
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-app-store-affiliate-program.html
The API you would then use is the "Search API." More info about that can be found here -
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html