iPhone • 39:29
Speakers: Max Muller, Ricardo Cortes
Unlisted on Apple Developer site
Downloads from Apple
Transcript
This transcript has potential transcription errors. We are working on an improved version.
So, my name is Max Muller. I'm the Director of the iTunes Store Content Engineering Group. It's my group's responsibility for building all the infrastructure, for handling all things content. From music to TV shows to movies to this new wee little phenomenon called apps. Before we get started, I would just like to say thank you. The App Store hasn't even been live for a year and already customers have downloaded over a billion applications. We've already had over 50 thousand applications published. So to all the developers out there that made this possible, thank you very much.
[ Applause ]
And for those of you that are now ready to jump on the bandwagon, well, you've come to the right session. So today, we're going to be covering three topics. The first is the process for publishing a new application to the App Store. Second, we're going to look at how you add In App Purchase items to an application.
And finally, we're going to look at some of the tools available for you to manage your applications once they're live on the App Store. So jumping right into it, to publish a new app to the App Store is a simple five-step process. The first step is to set up an account in iTunes Connect.
iTunes Connect is your online web portal for managing your presence and your applications within the App Store. The prerequisite to getting an account at iTunes Connect is that you must first be a member of the paid iPhone Developer program. Once you've gone through that process, your account will automatically be set up for you in iTunes Connect.
You get to iTunes Connect at itunesconnect.apple.com. Now one thing we want to call out specifically this year is for those of you that are interested in paid application distribution. We want you to start filling out your contracts, banking, and tax forms as soon as you have access to iTunes Connect.
Don't wait until you have an approved application to start filling out those forms, as this will just add unnecessary delay in getting your application live. The second thing, we want to call out is we want you to think through and make the decision up front if you'd like to be an individual or company.
The process to change from an individual to a company at a later point is long and arduous. So when you log into iTunes Connect for the first time, you'll land here. This is the homepage. These are all the modules that you have to manage your content. And again, for those interested in paid application distribution, contracts, tax, and banking module is highlighted up there.
That should be your first stop. So once you have an account, let's now add a new application. To do this, log into iTunes Connect and click on manager your applications. Now if this is your first time into the manager applications module, if highly suggest you download the user guide linked on the bottom middle of the page. The user guide covers everything we're going to cover in this session in detail, as well as provided examples. Now, I've already read the user guide, so I'm going to click on the upper left hand button to add a new application.
The first time you add a new app, we're going to prompt you for two pieces of information. The first is your primary language. This will come into play when we start to talk about how you localize your marketing message into different stores. But what we're looking for here is what language are you entering in the metadata about your application in. next is your company or developer name. This is your brand within the App Store. Every application that you publish will be listed under this name. Now the other thing that I'll point out about this information is that right now we don't have any facility to edit them.
So you want to make sure you get them right the first time. Next up is export compliance. The App Store servers are located within the United States. As such, when you set up a new application, we're going to ask you four questions about your use of encryption. The first is, does your product contain encryption? Second, is encryption used for authentication purposes only? Third is, does your product contain 64 bit symmetric? Or 1,024 bit asymmetric encryption? Finally, is encryption used for the protection of data or information security purposes? Now, if you answer yes to all four questions, we are going to require that you upload a valid C-cats [phonetic] form to us. If you don't know what a C-cats form is and think that you might need one, I'm going to refer you to the US Department of Commerce Commercial Encryption Controls website for further fascinating reading.
[ Laughter ]
Next up, we're going to look at adding in the metadata or the details about your application. This is your name, your application description, the categories that you'll categorize your application under, copyright and version information, application and support URLs, a support email address, and end user license agreement if you have one, and finally a SKU number.
Now the only two things I'll call out here is the support email address is not published on the App Store, this is only for Apple's internal use to get in contact with you to resolve a support issue. And the SKU number cannot be changed once it has been set.
And this is what will appear in your financial reports. So new in iPhone 3.0 is parental controls. So starting this week, we're now requiring that all applications be rated. If you have an application that is currently live on the store and has not yet been rated, we're going to ask you to go into iTunes Connect and rate it now.
When 3.0 ships, any application that is not rated will display not yet rated in the App Store and it will be enforced as if it had a 17+ rating. Now the process for rating an application is we provide the following list of app advisories. We ask you for each one of these advisories to provide the frequency or intensity. Based on your selections here, will determine the rating of your application.
The App Store has a simple age-based rating system of 4+ , 9+, 12+ and 17+. In iPhone 3.0, parents now have the option of setting the maximum rating for which a child can download applications from the App Store. And that's it for the details of our application. So now, let's look at the content.
That actual assets that you're going to be uploading to us. The first and most important is obviously your binary. Now, there are a few things you want to check about your binary before you upload it to us. The first is that you've included a 57 by 57 PWNG icon.
Note that rounded corners, as well as shine, are automatically added by the App Store. However, if you would like to preshine your icon, the App Store does honor the UI prerendered icon key if set in the info dot pelos [assumed spelling] file of your Xcode project. Next up is your app id. You create your app id as well as your distribution for visioning profile in the iPhone program developer portal.
Every application in the App Store has a unique app id. New in iPhone 3.0 are device capabilities. This allows you to set within your Xcode project the capabilities that your application absolutely requires to be present on a device in order for it to function correctly. You set this as an array with the UIRequiredCapabilities key. Note the App Store will refuse to purchase an application if all of the capabilities listed in that application are not present on the device.
Likewise, iTunes will refuse to sync an application to a device if all of the capabilities listed in that application are not on that device. So finally, you're ready to build your application. For this you're going to set your active SDK to device, you're going to set your active configuration to release, you're going to set your code sign identity to your distribution identity. You're going to set at the provisioning profile to be your distribution provisioning profile.
Once you've built your dot app, we're going to ask you to zip it up in the finder, and it's that zip archive that you'll be uploading in iTunes Connect. Next up, we're going to ask you for a 512 x 512 version of your icon. This must be, this must come from the exact same artwork as the icon in your application.
Different parts of the application will either use the large artwork or the small artwork. And you want to ensure a consistent experience between in pages. Finally, are screenshots. We require one screenshot, but you can upload up to four additional screenshots. And that's it for the content. So one last step, it's to specify availability.
Availability breaks down into two pieces of information. The first is the availability date. This is the earliest date at which your application can be published on the App Store. The second is distribution. By default, worldwide distribution is assumed; however, if that is not your intent, for the 22 stores that we operate the iTunes Store in, you can select which of those countries you would like to distribute your application into. And for all the remaining ones that we operate only App Store in, you can opt into all of those or out of all of those.
And finally, for paid application distribution, we're going to ask you to select from a price tier. The price tier maps to the customer prices as well as to your proceeds. In this example, price tier ten maps to a nine ninety-nine retail price point with a seven dollar proceeds.
All of the stores listed here, all of the stores not listed here I should say, all operate on the US dollar. Now with that I would like to bring up Ricardo Cortez, Engineering Manager for the iTunes Store Provider Services Group, who owns iTunes Connect among other things, to walk us through a demo of submitting an application.
[ Applause ]
Thank you, Max.
[ Applause ]
So once you've developed your application, you're ready to distribute it to the App Store, and that's through iTunes Connect. Of course, you need to test it, so we prefer to do that first before we distribute it to the iTunes Connect portal.
I'm going to log in to iTunes Connect and as Max mentioned earlier, this is the homepage of iTunes Connect. The different sections are what we call modules. This module right now, that we're interested in, is manager applications. In the upper left hand corner there's a button called add your application.
And you'll see at the bottom there's a link for the developer guide. If you have any questions on how to distribute your application or get it ready for the iTunes Store, including your assets, your cover art, as well as new features for iPhone 3.0, In App Purchases in device capabilities is documented there in the user guide. So as Max alluded to earlier, the first two pieces of information we want to collect from you are your primary language and your company name.
[ Silence ]
Next is the export compliance. There are four questions. If you answer yes to all of them, we need to actually ask you for a C-cats form. You'll see that form here after the fourth question. This app is a game; Touch Fighter. Touch Fighter 2 does not contain encryption so I'll go ahead and indicate that with a no.
the first tab in the flow is the overview tab. This is where you're going to enter your metadata about your application. This is your marketing text and your descriptions. The fields that are indicated in bold are required.
[ Silence ]
[ Silence ]
[ Silence ]
Touch Fighter is a game and upon choosing game, I'm given the option of choosing up to two subcategories. Let's see, I'll choose action and adventure. Next, it's the copyright information, the version number and the SKU.
[ Silence ]
[ Silence ]
As Max alluded to earlier, the support email address is not used externally. It's in case we have a problem with your application and we've, we want to get in touch with you. Next is the rating tab. Ratings are now required for all applications. You'll see the app advisories are listed below. You can choose none, infrequent or mild or frequent and intense.
As you choose the ratings, you see they are dynamically generated to the right so you will know exactly what your rating will be generated once you submit it to the iTunes Store.
[ Silence ]
After the ratings tab is the upload tab. This is the tab where you will submit your binary. Your large 512 x 512 cover art as well as your primary screenshot.
[ Silence ]
While we upload the assets, including the binary, we perform many validations on these. Some of you are fairly accustomed these validations in terms of verifying your distribution profile, the certificate, if the app is signed correctly, the assets are the right dimensions. As you upload the assets, including your cover art and primary screenshot, you can preview them to make sure they are the correct assets. Lastly, you need a primary screenshot. This is the screenshot that is used on the device. It is the first screenshot the customer will see when they're browsing your application on the App Store.
[ Silence ]
Next is the pricing tab. Here you choose your availability date and your price tier. I want this application to be available today. So I'll go ahead and choose June 12, 2009 as my availability date, as well as select tier. Tier 10 from the pull down.
Upon choosing the tier, you're given a matrix at the bottom that represents the customer price and proceeds for each tier. For Tier 10, you'll see in the bottom left that in the US the customer price is nine ninety-nine and the proceeds are seven dollars. Next is the localization tab. This is where you will localize your marketing text and title for other app stores. We're going to go ahead and add a French localization.
[ Silence ]
And grab the French translation. And then appropriately change the support URL, the support email address, and I will keep the primary screenshot and additional screenshots the same. You have the option of uploading different screenshots if you'd like for different localizations. Finally, we're brought to the review tab. The review tab is where you get to see what your metadata and your chosen selections look like so far in the various app stores. In the US, you'll see your descriptions in English.
If I choose French, France app store in the pull down, it's now reflected in French. You get to see your primary categories that you chose, your copyright version, SKU information, the rating and because I'm in the France storefront, you'll see that the customer price and proceeds are reflected in Euros.
[ Silence ]
Upon doing so, I'm brought to the main page of Manager Applications. You'll see that I submitted Touch Fighter 2 version 1.0 and it's in review. Here is where you would see all your applications listed, as well as their status. Once it goes through ready for sale, you'll get a status ready for sale, and you'll know that your app is selling in the App Store. Thank you.
[ Applause ]
Thank you, Ricardo. All right, now let's look at the process for adding In App Purchase items to an application. This, like publishing an app is also a simple five-step process. The first step is to add a new item. Now for new applications that you're setting up for the first time, you now have the option in the iPhone program developer portal to indicate the best, the app id that you're setting up, is going to be used for in app purchasing.
What this allows us to do is to provision that in app, oh sorry, provision the app id into our sandbox testing environment so you can begin testing, you can be testing your In App Purchase items before you've actually uploaded a binary to us. To do this you log into the iPhone Program Developer Portal, select the app id that you're interested in and check the box to enable for in app purchasing. Once that's done, you can log into iTunes Connect and click on the manage In App Purchases module. From here, the upper left hand button is to create a new in app item.
At which point, you'll land here. All paid applications that you currently have will be listed here. Note: Free applications are not eligible to add In App Purchase items to. To complete this final step, you'll select the final application that you wish to add the In App Purchase item to.
So next up, let's look at the details that you need to provide about your item This is your reference name, your product id, your item type, and finally your price tier. The reference name is your name for the item. This will not be displayed for the customer and will not be displayed within the App Store.
The product id functions in the exact same way as the SKU. Once set, it cannot be edited and it will appear in your financial reports. The item type is the type of, the kind of item you wish to set up. A non-consumable is one that we do not allow the customer to repurchase. And if you think about the App Store, applications are non-consumable.
If the user buys an application on Device 1 and logs into Device 2, and clicks to buy the same application, we allow them to redownload it for free. Non-consumable In App Purchase items function in the exact same way. Non-consumables are also required to work across all devices for the user.
Now consumable items are those that are consumed as part of the application play. They, we do allow repurchase and they're not required to function across all devices for a user. The final type is subscription. Subscription behaves like consumables in that we allow users to repurchase but they are required to work across all devices for a given user.
And finally, the price tier. All of the price tier points that are available for pricing your applications are also available for pricing your In App Purchase items, with the exception of the free tier. Next up is your display title and description. This, the title is actually what will be displayed to the user. When the box pops up to confirm the purchase and the description is available through store kit APIs, for you to retrieve, display and your application. And finally, for review purposes only, we're going to ask you to upload a screenshot of your In App Purchase item.
For instance speed, strength, all right, you get the idea. So now that you've set up the item, the next step is to actually test the item. So the first part of the testing process is to set up test accounts within, what we refer to as the sandbox environment. To do this you're going to log into iTunes Connect and click manage users. From here you will select an In App Purchase test user. And add user, then select the upper left hand button to add new user.
For sandbox test accounts, we're going to ask you for a first and last name, an email address, a password, a secret question and answer, a date of birth and most importantly, a country. If you wish to test your In App Purchase items in the United States, France and Japan, you would set up three different sandbox test accounts.
So now, I know, this is the crazy side here, but yes, we are going to ask you to thoroughly test your In App Purchase items before you submit them to us. So once you have thoroughly tested your In App Purchase items, it's now time for you to submit them for review purposes. The first thing to point out is the review process for In App Purchase items is the same as applications.
Now there are two ways to submit an In App Purchase item. One is to tie it to a binary, in which case the binary as well as the In App Purchase items are going to travel through the review process together. If there is an issue with your binary, your binary as well as your In App Purchase items will all come back to your for your correction.
Likewise, if there is an issue with one of your in app purchase items, your binary as well as all of the In App Purchase items submitted with that binary will again, come back to you for your correction. The second form is if you have an application that has in app purchase items that are currently live on the store, we will allow you to add them and submit them for review immediately.
To submit an In App Purchase item, you're going to log into the manage your In App Purchases and select the application that has the items you wish to submit for you. In this case, you can see that Touch Fighter has one In App Purchase item called Missiles. In the status, pending developer sign off. The status of pending developer sign off is where I've been testing it in the sandbox environment.
To submit this item, I'm going to inspect it and click the upper right hand corner called approve. At which point, I will be given two options. Again, one to submit it with the binary and the second is to submit it now. If you would like to submit it with a binary, the in app purchase item will go into a holding state, at which point, when you upload your binary, when I upload the new Touch Fighter binary, I will be presented with all the In App Purchase items that are currently being held, and when I hit submit, the binary, as well as all those in app binary purchase items will then start to travel through the review process.
In the case where I already have it, I have In App Purchase items live for this app, I can merely submit it now at which point we make no guarantees, and it will travel through the review process independent. So finally, once submitted it's in the waiting for review state. And again, I'd like to bring Ricardo Cortes up to walk us through setting up an In App Purchase item and submitting it.
[ Applause ]
Thank you, Max. So there's really about four steps you need to go through with respect to iTunes Connect In App Purchases. First, you've got to leverage Store Kit, you've got to develop In App Purchase within your application. Then you need to go to iTunes Connect, create your metadata and your SKU information, and your pricing information.
Go to iTunes Connect, create your sandbox users and test out your In App Purchase in the sandbox environment. And then when you're comfortable testing out those negative and positive use cases, you log back into iTunes Connect and you either submit with the binary or on its own. So last time we created our app we were in manage your applications. This time we're going back to manage your in app purchases and we're going to create In App Purchase.
Go ahead and create new. We're presented with a screen with the paid applications that are eligible for In App Purchase. And then we go out to the metadata page. The first section is pricing. Again, the reference name, the Max alluded to it's loaded to is for your use only. On the right here, there are some question marks. If you've got questions about any of these fields, it'll guide you through the process.
[ Silence ]
The product id will be reflected in your finance reports. I'm creating Missiles, it's a consumable. I'll choose Tier 1. I'd also like this consumable to be ready for sale as soon as it's ready, so I'll leave the Cleared for Sale box marked as checked. The next session is the display details.
This is your localizations. I'll go and add English localization. As Max alluded to earlier, the display name and the description are the localizable fields. The display name is what's presented to the user, or the customer, when they purchase an internet purchase on the device.
[ Silence ]
Go ahead and add this language At the bottom, we need our full review screenshot, which presents this In App Purchase.
[ Silence ]
We're all said and done. Go ahead and submit it. And we're brought back to the main page of manager In App Purchases. You'll see at the top there's one application that has In App Purchases. As you add In App Purchases to your applications, you'll see a listing at the top and they're frequently modified applications. So it's a quick link section for you to get to those applications. You can also search at the bottom by reference name, display name or product id. I'll go ahead and inspect this in app purchase by choosing the app.
You'll see I have one In App Purchase for Touch Fighter 2. It's in pending to go in for approval. I can see the product id, the pricing information, as well as the localizations. When it's in pending developer approval, I have the option of editing this information, but once I approve it, I no longer have the, I know longer have the option of editing that information.
So now, we would go back to the device, and we have to actually create sandbox users to test out this In App Purchase. So we go back to manage your users. And this time we're presented with two options. I can connect user or In App Purchase user. We don't have any In App Purchase users. I'll go ahead and add one.
[ Silence ]
I'd like to test my In App Purchases in the US so I'll go ahead and select the US iTunes store and save it. Oops. We have some validations on the passwords; it's a good thing.
[ Silence ]
Once you've submitted it, we can go onto the device, we can log out of our iTunes store account on the device, log in as a sandbox user and test out our In App Purchases on the device.
Once we're satisfied, we then come back to iTunes Connect, we'd log in, we'd go to manage In App Purchases, we'd find the In App Purchase that we're ready to sign off on, that's Missiles, inspect it. I'm going to come over here and click the big green button at the top named approve.
We're now given the choice of submitting this with the binary or we can submit now. I already In App Purchases live on the store with Touch Fighter 2 so I'm going to go ahead and submit this one now. And once we submit it you'll see the status changes waiting for review.
And that is creating In App Purchases, testing them and submitting them in iTunes Connect. Thank you.
[ Applause ]
All right. Thank you, Ricardo. So now that we've published an application, we've added in app purchases to it, let's now look at some of the tools that are available to you to manage your applications once they're live on the App Store. For paid application development, most important is finance reports. So finance reports are posted monthly for every proceed currency that you generated income for in the previous month.
You access your finance reports on the finance reports module. The format is a simple CSV text file format, easily parsable. And every report that we've ever posted for you will be listed here. For those of you that are impatient and can't wait until the end of the month to see how your applications are doing, we also provide daily reports. Daily reports are accessed under the sales and trends module in the upper left hand corner.
Here you're offered the report type, either the daily or weekly reports and then the day or period. Note the daily reports we hold onto for seven days and weekly reports are held for thirteen weeks. Next up are promo codes. Promo codes are a great way for you to promote your application.
They all for a royalty free download of a paid application and I stress this, they are for noncommercial distribution only. You, you can get up to 50 codes per version of your application. Once generated, the codes will expire after four weeks. They are available to user in the US iTunes Store account.
Now one other thing I'll call out about promo codes is the only actual requirement is to have an approved binary, meaning if I'm coming out with a new application and I have an availability date set of September 1st and on August 1st I have an approved binary, for the month of August I can use promo codes to, to, for to provide easy access of the application before it's gone live in the store. And the other point to point out about promo codes is now an iPhone OS 3.0, there's now within the App Store, you can now redeem those codes right on the device. To get your promo codes, log into iTunes Connect and click on the request promotional codes module.
Here you will be given in the pop up a list of all of your applications with approved binaries. When you select the application at the bottom part of the screen will display the number of codes that you have remaining. You can enter in the number of codes you wish in the text box, click continue to generate and download the codes.
We also offer a view history link in the upper left hand corner where we provide the last 60 days, all the code requests that you've made where you can go and redownload any codes that you've generated. And finally, crash logs. Now I know no one in this audience writes buggy software, so this is more one of those tell your friends who do write buggy software about this great feature. So to get to your crash logs, so crash logs are updated for all applications on the App Store approximately every two weeks. To get to the crash logs for your particular app, you're going to log into the manage your applications module and select the app details link.
Here you can select your crash, you can view your crash reports in the upper left hand corner. Now crash reports break down into three types. Crashes and freezes, timeouts and exhausted memory. For crashes, we provide the top ten most frequent crashes that are happening within your application. And for each one of those, we will provide up to three example stack traces as well as register values. For timeouts, there are three types of timeouts. Timeout on the launch, timeout on quit and force quit by the user. For each of those three we provide up to five example stack traces as well as register values.
And finally, for memory, we provide the average as well as the maximum memory, resident memory size when your application was jettisoned. And finally, we give you the breakdown for all crash reports for your application of crashes versus timeouts versus memory. So it should give you an idea of where you need, of what you need to focus on, on tackling first. So what we want to do now is just cover two best practices of all the little nuggets that we've learned over the past year.
The first is to test your application thoroughly. Believe it or not, but the majority of the rejections that happen for applications across the board happen because the application crashes when it's being reviewed. So please test your applications thoroughly before submitting them to us. And the second is avoid adding a price to your icon. Your icon by definition is meant to be iconic, meaning it needs to work across the entire world. And if you put in 99 cents right in the middle of it, your application will not go up on the store.
So avoid putting price to your icons. So in summary, the App Store is an amazing way to reach millions and millions of consumers. And honestly yeah, we're just getting started at this point. So to recap, for In App Purchases, get into iTunes Connect, get in set up, go kick the tires in the sandbox environment. If you haven't already done so, if you have an application live, please make sure that you've done testing on 3.0.
If you find issues, get those updates submitted as soon as possible. And for ratings, if you have an application live that hasn't been rated yet, please get into iTunes Connect and get it rated soon, before iPhone 3.0 gets out. For more information, Mark Malone in [email protected]. Hi, Mark! Documentation, again, user guide, as well as the paid applications contract available on itunesconnect.apple.com and bedtime reading at the US Department of Commerce.