Video hosted by Apple at devstreaming-cdn.apple.com

Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: wwdc2012-305
$eventId
ID of event: wwdc2012
$eventContentId
ID of session without event part: 305
$eventShortId
Shortened ID of event: wwdc12
$year
Year of session: 2012
$extension
Extension of original filename: mp4
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: [2012] [Session 305] What's New ...

WWDC12 • Session 305

What's New in iTunes Connect for App Developers

App Services • iOS, OS X • 51:21

The App Store has over 600,000 applications and they all got there by going through iTunes Connect. Come see what's new in iTunes Connect and Application Loader for app developers. Get detailed information about new Game Center and In-App Purchase support. Hear tips and tricks to avoid app review issues, learn about updates to iTunes Connect Mobile, and much more.

Speakers: Aloke Bhatnagar, Ricardo Cortes, Jason Fosback, Dave Makower, Dave Van Tassell

Unlisted on Apple Developer site

Downloads from Apple

SD Video (144.1 MB)

Transcript

This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.

Good morning. Thank you for coming. My name is Ricardo Cortes and I work on the iTunes Store, the iBook Store, and the App Store. First off, welcome to WWDC. It's day four of WWDC. I hope you're enjoying the conference. Monday's keynote was pretty sizzling, if you ask me.

This is the fifth year in a row for this presentation. Believe it or not, we started back in 2008, just before the App Store launched, and we've been doing it ever since, updating you on the app distribution process, app reporting, and app setup. And this year is no different.

We're going to walk you through updates to iTunes Connect Mobile, iTunes Connect, and Application Loader. These are the three tools that are used by you guys to submit your apps, track your apps, and make changes to your apps on the App Store. We have four areas that we want to cover today. A what's new area, we'll be talking about contracts, general iTunes Connect workflow changes in the last year, and iTunes Connect Mobile.

Our second main area, tool support for iOS 6 and Mountain Lion, the features you heard on Monday, including routing apps and Game Center. In-App purchase changes, we have a slew of changes for you in the area of In-App purchases. and as always, some best practices, common pitfalls, i.e. ITC gotchas. Okay.

What's new? First up, contracts. If you haven't noticed, this past Monday we rolled out some new agreements both on the iOS and OS X side for the free/PLA agreement and for the paid. On the paid side we have new App Store territories, which Tim mentioned in his keynote. We have In-App Purchas/Apple hosted content.

We have new custom B2B tiers. We're introducing tiers 0 through 9 for custom B2B developers and new custom B2B territories. On the OS X paid side, we have also the paid territories and the hosted content. For the PLA, we have routing apps and for the OS X side for the PLA, we have In-App Purchas hosted content.

In terms of custom B2B, we have nine new territories in addition to the US. They are Canada, UK, France, Germany, Italy, Spain, Australia, New Zealand, and Japan. We have 32 new territories that are coming to the App Store with those agreements that I mentioned that are now live in iTunes Connect. And with the 32, we now have a total of 155. And here they are.

Okay, we're going to quiz you on those later. Okay, that's contracts. So you want to go into iTunes Connect, agree to the latest free or paid as it's relevant to your app, and agree to those contracts. They're live now. iTunes Connect changes. As you know, the new iPad has a Retina display and those screenshots for the iPad with the Retina display are now optional.

You can provide high-res screenshots for your iPad app now in iTunes Connect. However, on the iPhone side, if you haven't noticed, we now require Retina display screenshots for all of your iPhone apps. We also have additional states, additional details for when your app is stuck in the missing screenshot app state.

The screenshot changes, here they are without the location bar. And if you were paying attention on Monday, there was a new iPad, or new MacBook Pro that was announced. We'll be adding support for those screenshots soon. When your app is stuck and missing a screenshot, we now give you an indication of which localization you need to add the screenshot in. We have some large app icon changes that are coming in July, so take notice.

On the iOS side, we're going from 512.512 to 1024.1024. If you recall, the large app icon is what's used in the store, both on the device and the desktop. On the iOS side, you deliver this screenshot through iTunes Connect. On the OS X side, commensurate fashion, we're going from a 512.512 to a 1024.1024.

And that's delivered in the ICNS file in your app bundle. On Newsstand, both for the issue cover art and for the default cover art that's supplied, the long edge is moving from 512.512 to 1024.1024. And those are supplied either in iTunes Connect or in the Newsstand Atom feed. Again, those changes are coming in July, so get ready.

You also have a privacy URL that's now available to all your iOS and OS X apps. It's optional unless you're using In-App Purchases of type Auto-Renewable or Free Subscriptions. Here's a screenshot in iTunes Connect where you can provide your privacy URL. That privacy URL will then show up in the store when you're browsing your apps. We have 10 new languages we're adding to the App Store. These are now live. They are below.

We also have the ability for you to change your default language at the app level. This allows you to choose a default language that is displayed when looking for a localization, when the device has been set to a particular language. Okay, iTunes Connect Mobile. iTunes Connect Mobile was announced a couple years ago here at WWDC. Since then, we've done a 1.1 and a 1.2. The current version is 1.2, and today we're announcing ITC Mobile 2.0.

First off, if you had noticed in 1.1, 1.2, you can't find all of your apps. We're changing that with 2.0. With 2.0, we have a detailed app inspection view for all of your apps, regardless whether they're on sale or not on sale. In addition, when you get a push notification for any of your apps, when they change status, you can swipe that push notification and it'll drop you right into the app inspection view for that app.

We've added custom reviews, allows you to search for all your reviews across all your territories quickly. And a new feature to ITC Mobile called Favorites allows you to organize your favorite apps to find them quickly on the device. And version sign-off and rejection. Version sign-off allows you to release the binary on the go within iTunes Connect Mobile. So if you get a push notification, your app is ready and it's been reviewed, you can swipe, drop right into iTunes Connect Mobile and approve it. Similarly, if you know there's a bug and you need to reject it quickly, you can do that as well.

We have a reworked Sales and Trends view. The UI has been updated. And if you don't want everyone in your company seeing your Sales and Trends data, you can now use the roles that are in iTunes Connect to prevent viewing of those Sales and Trends data right there in the app. And with that, I'd like to bring up Jason Fozback, Engineering Manager of iTunes Store Content Delivery. He's going to walk you through a demo of iTunes Connect Mobile 2.0. Jason.

Thank you, Ricardo. This looks familiar to most of you. We're going to go ahead and log in here to iTunes Connect Mobile. I'm just going to walk you through the new version, give you a demo here. So for those of you that have been using iTunes Connect Mobile, this will look very familiar to you. We've made it, you know, changed colors a little bit and everything. But this should look very familiar.

You can look at different intervals for your information, get graph and sales and unit data. Now, one of the things you may notice here is that you can't actually see unit and sales data on this particular graph because we're logging into Apple. And we didn't actually want to show you that information yet. So we're obfuscating things a little bit here.

So, you know, as Ricardo mentioned, we now have granular user role access to this application. So by default, the current version of iTunes Connect Mobile lets your legal, admin, and finance users use the application. With this new version, everyone that has an iTunes Connect account can actually use the application.

and with that, you know, some people will have the Sales and Trends view and some people will not and some people will have both. So, one of the new things you'll notice here on the application is at the bottom we have a tab called Manage. I'm going to go ahead and tap on that.

and we have a new view here where you can see your recent applications. And for those of you who use iTunes Connect, this will be very familiar to you. Every time you log in and you go to manage apps, you see your recent applications that you've most recently used. This is an analog to that. We show 24 instead of, you know, just 10 of each type.

And you can see -- you'll see the icon, the type of the application, and the version. And if you have multiple versions, as you see with iTunes Connect Mobile here in the upper right, you'll actually see the pending version and any statuses for the different applications. So let's go ahead and drill into one of these. I'm going to click on iMovie here.

and this is a detailed inspection view that you'll see for a particular application where you can see basic information, your icon, you can see your sales and trends data here at the bottom if you have access to sales and trends. You'll notice we have a version display here in the middle left and I'll go ahead and tap on that. And we can see some basic metadata information here about your application.

You can go ahead and take a look at your status history. So if you want to know when your status changes were and who approved them and when they happened. You can also inspect the different languages and the different metadata for each of the languages you have. So I'm going to go ahead and click on French here.

And we can take a look at the French metadata for our application. So over here on the middle right, you see we have the customer ratings and reviews. So right on the go, you can take a look and see what your latest reviews and ratings are for your application. Go ahead and take a look at some reviews there.

And you can actually change the country and view specific country information if you'd like. Now, in the upper right here, you'll notice we have something called Add to Favorites. And we've introduced this new feature where if you use an application a lot, you can add that to your favorites.

Now, what does that mean? It means that you as an individual will have access to that application across device. So I've added this to my favorites. Now, if I log in on my iPhone, I'll have that application available as well. So if I work on certain applications or want easy access, I can just quickly add that. So I'm going to go ahead and navigate back here to the Recent view. And I'm going to click on Favorites.

and they're my favorites. So you can see iMovie there at the top, which I added, and a few others here, which I happen to like. So there's also a button here at the top on the left, or right, excuse me, where you can edit your favorites and you can rearrange them if you want.

Delete them, add them, whatnot. So here's my favorite application, iTunes Connect Mobile. I'm going to go ahead and log into that, drill down into that one. Now if you'll notice here in the middle left with the versions tab, we actually see both versions, not just one version. So with iTunes Connect Mobile 1.2, we added push notifications. So every time a status change happens to your application, you can get a push notification on your device. With this new version of iTunes Connect Mobile, you can tap on that push notification, drill right down into the application to this view for your app.

and you can push it live right there if you'd like. So let's go ahead and take a look at this pending developer release and you'll notice there's a couple of different buttons there on the top. One is to reject the binary. So if I'm on the go and someone says, "Hey, there's this bug. We need to reject our application," we can right on the go there reject the binary. It's not something you probably want to do very often, so we actually ask you to re-authenticate just so you don't accidentally reject your binaries.

and you'll notice here at the top there's this release this version. So I'm sure most of you out there in the audience would love to have access to this latest app. So I'm going to go ahead and click on that. and you'll see there, release this version. So let me go ahead and release it. So just to be clear, I'm using iTunes Connect Mobile here to release iTunes Connect Mobile.

So with that, iTunes Connect Mobile will be available shortly after this demonstration. Ricardo? Thanks, Jason. A little bit of inception for you guys. That's iTunes Connect Mobile, available shortly after this presentation. Okay, Section 2, what's new? Let's look at iOS 6 and Mountain Lion. First up, routing apps.

As you know, on Monday there's a new Maps app. And Routing Apps is a feature of iOS 6 that enables you to integrate your app with the Maps app. It allows third-party apps to offer routing options or directions within the Maps app. Apps with coverage in the area that you're currently in are preferred. And you're given an option, if the app isn't on your device, to download another app from the store.

There's a GeoJSON file that's uploaded in iTunes Connect. This is how the Maps app figures out the apps that are relevant in your current location. Here's a screenshot of Routing Apps. On the top section, you see two apps, WWDC Transit and CA Transit. They're relevant because I'm here at WWDC.

And these are the apps that are located on my device that are being present first as the Maps app has found them using the GeoJSON file that's present in the apps. On the bottom, I'm also presented with some other apps that are relevant in my location area for directions from the store. I can also alternatively download those from the store.

Okay, Game Center. Game Center is new with OS X. It's been around since iOS 4. With OS X, it introduces the possibility of true cross-platform play between iOS and OS X. Here's a screenshot of Game Center on OS X. Now there's a whole slew of implementation choices you can go through. We're going to cover three today. We have standalone OS X support or iOS support, cross-app or cross-platform invites or matchmaking, and cross-app or cross-platform Game Center data sharing with leaderboards and achievements.

Okay, standalone support, option one. You implement GameKit for iOS or OS X, and your app does not depend on any other apps. It depends solely on the versions that are part of that application. So either on iOS or OS X, you leverage the compatibility matrix in iTunes Connect, and you select the versions that are compatible with each other, but not cross-app. This allows you to develop an OS X and then if you want you can add cross app support later. It's very easy.

Cross-App to allow multiplayer matchmaking or invites. The compatibility matrix has been updated in iTunes Connect to allow for not only iOS to OS X, but also iOS to iOS if you have a free or a paid, or OS X to OS X. Any combination works. Let's look at an example. Today, I have Touch Fighter 2.0. It's gone through three revisions: 1.0, 1.5, and 2.0. And they all play with each other.

Now I'm introducing Touch Fighter 1.0 on the OS X side, like many of you might be doing with OS X and Game Center support. So what would the compatibility matrix look like? So today, before this presentation, Touch Fighter 2.0 was able to play with 1.0, the 1.5, and the 2.0. But now we're introducing Touch Fighter 1.0 and OS X. The 1.0 doesn't work with the OS X version, the first version, but the 1.5 and the 2.0 does. So we want to take this example and this table and we're going to drive it home with some examples. In iTunes Connect.

You log in, you select TouchFighter 2.0 on the iOS side, and you indicate the compatibility first for that app. Here I'm choosing the 1.0, the 1.5, and the 2.0 as we just saw on the table. Next up, for the same app, Touch Fighter 2.0 on iOS, we're going to look at the Touch Fighter for the Mac version and select the 1.0.

Now, one thing to note, when you're playing around with Sandbox, let's say you're new to OS X or generally in iOS, the apps on the left side are all compatible in the Sandbox. You don't have to worry about compatibility. It just works. However, when you go to production, that's where things matter and that's where the version indications that you mark on these pages will be used.

The third option is data sharing. This introduces a new concept called Game Center Grouping in iTunes Connect. If you saw Dan Kurtz's presentation yesterday, which I highly recommend, he goes over a lot of the GameKit details on implementing GameKit for OS X and iOS. And there he talked about grouping as well.

This allows you to group your leaderboards and achievements. And one thing to note, we do support backwards compatibility here. So you've got old leaderboards or achievement identifiers that you're posting scores to on iOS 4 or iOS 5. The scores will roll up automatically to those grouped leaderboards and achievements. The end result is unified view both on iOS and OS X for Game Center.

Okay, Game Center today, before grouping. You have an iPad app that earns an achievement. It's sent up to the Game Center Cloud for Touch Fighter. And when you go into Game Center, it's reflected accordingly there on the app. Let's say you have another app. It can be an iOS app, in this case an OS X app.

It also earns that achievement, goes up to the cloud, and it's reflected on the OS X side. But there's no sharing of the achievements. You notice the achievement was earned on one side for the iOS side and on the other side for the OS X side, and they were segregated.

With grouping, we go ahead and iTunes Connect, we specify a grouped achievement identifier of group.touchfighter.perfectscore. And then we update our app to post score to that grouped achievement. And then on the iOS side, You post a score and it's reflected accordingly on both the iOS and OS X side. And the same thing when you post from the other apps that are part of the group.

Okay, let's try this one with some examples. So I have Touch Fighter 2.0 for iOS and Touch Fighter 1.0 OS X. Same example we've been looking at. We have a leaderboard, touchfighter.leaderboard, both on the Mac and iOS side. There's the identifiers. And we go ahead and group it in iTunes Connect and we give it a grouped leaderboard identifier.

Second example, Touch Fighter iOS, again with Touch Fighter 1.0 and OS X side. We've got support for the Level 1 in our iOS version, and we've introduced support for the Level 1 on the OS X side. We go ahead and group it. We post those scores to group.touchfighter.level1. But let's say that the level two isn't quite ready yet on the OS X side.

We've got a bigger real estate, we've got a lot of other things that we want to put in the level two on the OS X side. That's okay though. You can still go into iTunes Connect and you can prepare this grouped leaderboard, give it a grouped identifier, and start posting scores to that grouped identifier.

One thing to note on leaderboards is when you're merging them or grouping them together, you need to be sure that you need to group appropriate leaderboards together. For example, a time-based leaderboard and a points-based leaderboard will not play with each other. And we have validations to help you with this.

Similarly, on the achievement side, to drive it home further, we have Touch Fighter 2.0 on the iOS side, Touch Fighter 1.0 on the OS X side. We've got single game achievements of Touch Fighter dot Perfect Score, and on the Mac side, Touch Fighter dot Mac dot Perfect Score. We group that achievement in iTunes Connect using the new grouping UI, and we start posting to that Perfect Score achievement. and 100 Wins isn't implemented yet in the OS X side, but we go ahead and we group that, give an identifier and start posting to that identifier regardless.

Here's what the UI looks like. In iTunes Connect, you have a single game option or a group of games option. Now, when you're using Game Center, The grouping UI is now available as of Monday in iTunes Connect. You can go ahead and start merging and grouping your leaderboards and achievements.

One thing to note, especially if you're playing around with Mountain Lion, is if you're grouping your leaderboards or achievements and you have a bug fix for another different reason, you'll want to ungroup it first, submit that bug fix, and then come back into iTunes Connect and group it.

and with that, I want to bring up Dave Van Tassell, Senior Software Engineer, iTunes Store, iTunes Connect. He's going to walk you through the UI and Game Center changes in iTunes Connect. Dave. Thank you, Ricardo. As you've heard, there's a couple of new ways to enhance your customers' Game Center experience using iTunes Connect. So let's go ahead and take a look at them.

Log in here to iTunes Connect, manage my applications. We have our two apps, our Touch Fighter for iOS and Touch Fighter for the Mac. and we want to make our Touch Fighter for the Mac compatible for multiplayer compatibility between the two. So it's the same location as cross app as compatibility was before.

Scroll down here to the bottom. We click the Multiplayer Compatibility. And we can see those versions for this app. What's new now is we can come in here and add a second app, Touch Friday for iOS. If you've played around with this already in iTunes Connect, you'll notice that this screen does not allow you to select other versions of that app. Currently we're in Sandbox only. When Mountain Lion ships, we'll be able to come in and select these versions for other apps. So TouchWriter 2 for iOS, we're going to select our 1.5 and our 2.0.

Now we can see that Touch Fighter for the Mac is compatible with all of its own versions, including this one, as well as Touch Fighter 2 for iOS, only versions 1.5 and 2.0. And at this point, I'll be able to, in sandbox mode, all those versions between those two apps will be compatible.

And when this version of my Mac App goes live, then in production I'll be able to have the cross-app compatibility with TouchWrite for iOS. and that's cross-app compatibility. Now we want to share our leaderboards and achievements between the two apps. So we're on Touch Friday for the Mac and we click Manage Game Center. I've set up some leaderboards and some achievements.

for this app. And I want to move it to a group. Click on Move to Group and I have the option of creating a brand new group or attaching it to a group that already exists. I've already created the iOS group. So I'm going to go ahead and attach this Touch Fighter group. My next step is to merge all of my existing leaderboards and achievements into the group leaderboards and achievements. Now this first one here is a time trial. My existing group doesn't have any time-based leaderboards, so my only option is to create a new one.

However, with leaderboard and level one, they match with some existing leaderboards. So I have the option of selecting existing group leaderboards that I'd like to select from. I come down here and I have my perfect score. My existing iOS app had two achievements. However, I know this one matches with perfect score.

I'm presented with a screen to just kind of confirm what I've been doing. I have my leaderboards and achievements on the left-hand side and how they are mapping to group leaderboards that already exist. Leaderboard to leaderboard, level one to level one. My Mac app didn't have a level two leaderboard and it's showing me that there was one in the group but I didn't match it. And the time trial for my Mac, although it didn't exist previously in the group, it does now.

So now it shows up on the group site. My achievements are the same. There was no 100 wins on this app, so there's a space. Let me know in case I meant to do 100 wins. Kind of reconfirms how my merge went. Perfect score to perfect score. All changes are accurate. Click Save.

Now I can see my group display. I can see Touch Fighter for iOS, Touch Fighter for the Mac. I can see all leaderboards and achievements for the group. and that is how you do game sharing with leaderboards and achievements and cross-app compatibility. I turn the time over to Ricardo.

Thank you, Dave. That's Game Center in iTunes Connect, the new grouping, merging UI. OK, what's new in In-App Purchases? First up is In-App Purchase hosted content. First off, if you haven't seen Daniel Feldman's presentation yesterday on selling products in StoreKit, I highly recommend it to download the video. It walks you through all of the features of In-App Purchases, how to implement an iOS side, how to implement on the OS X side, especially In-App Purchase/Apple hosted content.

In-App Purchase-Listed Content is new for iOS 6 and Mountain Lion and is optional for new in-app purchases. It pertains to the non-consumable type only. and allows Apple hosted content to be delivered with your In-App Purchase. There's a size limit here of two gigs. An example would be as new game levels are purchased with In-App Purchases, you can deliver the maps to go along with those game levels from Apple and not your servers. You set up In-App Purchase hosted content in iTunes Connect.

There are two additional states that go along with in-app purchases that are hosted with Apple. Waiting for upload because we haven't received your archive yet and processing upload when we receive the archive and we're processing it for the App Store to go along with your in-app purchase. You develop and test your hosted content locally in the latest Xcode. And then you can deliver-- sorry, you prepare the archiving Xcode as well. And then you can deliver an application loader or Xcode.

In iTunes Connect, there's a new Boolean hosting content with Apple. You indicate yes. This then is reflected on the SK product. The Boolean will be true for that SK product and you'll know that that hosted content lives with Apple or that the SK product actually has hosted content. iTunes Connect has been updated to give you some information when the In-App Purchas has hosted content. and Application Loader allows you to deliver in-app purchases with hosted content along with the archive that is built in Xcode.

Let's take a look at Newsstand. Newsstand was announced last February with The Daily. Free subscriptions. They allow free publications with no auto-renew period. We have subcategory support which we just rolled out. This improves the marketing and discoverability of your newsstand publications. and free trial support. Enables trying before buying and when the free trial is over, the customer's billing period will automatically begin.

Screenshot of iTunes Connect and additional subcategories that are available when you're using free subscriptions. Sorry, when you're using newsstand subscriptions. Here's a shot of the device, of what it looks like to browse by these new subcategories. It makes finding these subscriptions much easier. And the indication in iTunes Connect that you want to offer a free trial.

Finally, we've made some changes in the tool and workflow area for iTunes Connect and Application Loader. to support In-App Purchases. Last year, as a reminder, we announced Application Loader support for In-App Purchases. You can set up individual In-App Purchases with their screenshots or you can use a tab-delimited spreadsheet to ingest and deliver all the screenshots and the metadata to the iTunes Store. We just saw the new support for In-App Purchas hosted content. We also have sorting by status. This allows you to find problematic In-App Purchases quickly.

A new feature that we're announcing today is called Catalog Reports. Catalog Reports are a new downloadable tab-delimited report in iTunes Connect. The format is easily ingestible. It's tab-delimited, you can download it, and you can use any automated system you want to parse it. It gives you a wide glance across all your In-App Purchases, including the localizations, the tier, and other information that's relevant. In addition to the In-App Purchas report, we're also announcing an apps report that will be available for download. Like the In-App Purchas report, it gives you a glance of all your applications. So if you've got 5,000 apps, they'll be all there for you to review.

and coming soon we're going to have a Game Center report in the Catalog Reports section for Leaderboards and Achievements. And with that, I'd like to bring Aloke Bhatnagar on my team. He's the engineering manager of iTunes Store, iTunes Connect. He's going to walk you through some of the In-App Purchas tool changes. Aloke.

Thank you, Ricardo. Hello, everyone. So as Ricardo mentioned, we made quite a few enhancements in the In-App Purchase area in iTunes Connect, and I'm going to walk you through those. Let's start with In-App Purchas content hosting. Go into iTunes Connect, click on Manage your applications. Choose our favorite app, Touch Fighter for iOS, and select Manage In-App Purchases. As Ricardo mentioned, that in-app purchase content hosting is available only for non-consumable in-app purchase types. So let's go ahead and create a new in-app purchase. Select non-consumable. Give it a reference name.

[Transcript missing]

and Hit Save. Now, for those of you who work with In-App Purchasers, there's absolutely nothing different with what we've done so far. But here's where the difference starts. We offer a new section called Hosting Content with Apple, and you can choose yes or no, depending on whether you want Apple to host your content for you. There's also a new Review Notes section that's optional in case you wanted to give any notes to the reviewer, like login information or any other information, you can go ahead and send that. So let's go ahead and add a screenshot.

For now I'm going to say no for the hosting content. Go ahead and hit save. As you can see, everything's normal so far. We've hit the ready to submit state. Oh, by the way, we've also added sorting by status now, which is convenient if you want to quickly look up an in-app purchase of given types. Now let's go back into the In-App Purchase we just created. Hit Edit on the In-App Purchase Details. And choose Yes for the hosting content with Apple.

As soon as I hit save, you're going to notice that the status will move from ready to submit to waiting for upload. Now there's In-App Purchas ready in a state where I can go into Application Loader or Xcode to go ahead and deliver a package against it. And that's In-App Purchas content hosting.

Now let's quickly go back to our home page. As Ricardo mentioned, we'll be releasing today catalog reports. Now what exactly is a catalog report? Think of catalog reports as a snapshot of your data at the current time in tab-delimited format so that you can easily ingest into your automated processes.

So let's go ahead and take a look at that. As you can see, I requested a few already. We have catalog reports for in-app purchases and the app and apps, so you can download either one. Let's go ahead and download one of these. As you can see, this is a very easily ingestible format, and we'll do that by dragging this into numbers.

This is a little bit larger. And it contains data like Apple ID, reference name, product ID for your in-app purchases, add-on type, any relevant information that you want to see, all the way up to the current price tier, whether it's cleared for sale or not. Sorry, these columns are not auto-expanding. The app name data and any localizations if you had any.

So how do I get a catalog report? You go ahead and request a new report. Select from apps and app purchases, what the heck, we'll just take both. Request new reports. Now as you can see, they are in the ready to process section, in the ready to process state, and within a couple of hours, they'll get processed and I'll get an email saying that they're ready to download and they'll be available for download just like over here. And that's Catalog Reports and this is releasing today for everyone.

For the last part of the demo, as Ricardo mentioned, in Application Loader, we have a new From File option now where you can mass ingest IAPs into iTunes Connect. So in order to do that, you create a new package, choose New From File. And this is a simple tab-delimited text file that contains all my in-app purchase data. Going to go ahead and hit open.

and as you can see, it's ingested all the In-App Purchase data, including price tiers, whether it's clear for sale or not, and the screenshots. Let me just scroll through that real quick, make sure everything's okay. And for non-consumable types, you can also go ahead and select the content hosting packages for this. And that is Application Loader. Back to Ricardo.

Thank you, Aloke. All right. If you're not paying attention, now is the time to do so. We have something unplanned in our little hidden agenda and we want to talk about something new today. It's called XML Feed Support. I'd like to bring up Dave Makower, my peer, Senior Engineering Manager of iTunes Store Content Import, to tell you all about it.

Thank you, Dave. Thank you, Ricardo. Again, my name is Dave Makower. I manage content import and asset management for the iTunes Store. And I'm here to tell you about our new XML feed support. So let's start by taking a look at what In-App Purchase data entry looks like today. You have a few options. You have manual data entry in iTunes Connect. Or you have... Manual Data Entry in Application Loader. Sends a theme here. There's also, as you just saw, New from File in Application Loader, which allows you to bulk import in-app purchases.

And this kind of gets to the motivation for XML feed support. So a GUI is fine if you have a few items. But what if you have 100? What if you have 1,000? Using an XML feed is going to work better if you have many items. And additionally, Being able to do it from the command line facilitates bulk data management and allows integration with your existing automated systems.

Here are some of the features of our XML feed support. For In-App Purchase, we support iOS and OS X. We support all In-App Purchase types subject to existing App Store policies about those types. We support interval pricing, which is the way in which you set up sale windows over time, varying your price over time. For Game Center, we also support iOS and OS X. And we support uploading and updating leaderboards and achievements.

So general features of our XML feed support. You can upload localized metadata. There is synchronous validation, so if you get something wrong, you're going to know right away. There's also command line metadata lookup. So from the command line, you can look up XML that you can then edit and send back in through the feed. And we'll be publishing a fully documented XML spec.

So here's how it works. You start by creating what we call a package. A package is just a directory with a .itmsp extension. It's got a metadata.xml file in there and optionally some assets, for example, screenshots. Or you can use the command line to look up the metadata. The package will get created for you automatically. And then you can edit the looked up XML. And then you use the command line to upload the package to Apple.

So here's what it looks like. For In-App Purchase, this is an example. and I'll zoom in on a couple of features here. So we have the vendor ID, we call it vendor ID. This is your ID, you are the vendor. This is your identifier for this app. So this is your SKU, what you call SKU in iTunes Connect.

Then we've got some basic metadata about the In-App Purchase. Product ID, Reference Name, Type is consumable in this case. Then you've got this product block and this is where you declare your pricing and availability data. We've got some localized metadata. And reference to review screenshots which are in the folder with the metadata.xml file. So that's In-App Purchas. Here's what it looks like for Game Center.

Again, we've got a vendor ID, that's the SKU of your app. And here's an achievement. with basic metadata about the achievement. The achievement ID, the reference name. In this case, there's some points there, and this is a reusable achievement. Again, we've got localized metadata and I'll zoom in on one part of this to show you that localized metadata actually has a localized image there.

and here we have a leaderboard, some basic metadata about the leaderboard. Localized metadata. and that's pretty much it. So this is all coming this fall, but we can show you a demo now. And that's what I'm about to do. And I'm going to start by going into iTunes Connect.

I'm going to go to Manage Your Applications, Touch Fighter 2 for iOS, Manage In-App Purchases. Now here I have my 100 missiles. And you'll see that I have one row in this table here for pricing and availability. The price tier is tier 3. It was effective as of May 23rd. And there's no end date. So this is the price tier for now and forever.

So the next thing I'm going to do is I'm going to go into the command line. and I'm going to look up the metadata for this app. has created the package for me on the desktop there. Show package contents and we have our metadata.xml file, which I'm going to drag onto Xcode. This is what we just retrieved from the server.

You see I have the pricing and availability section, the products as I pointed out before. And there's one interval. This corresponds to that one row in the table we saw. The start date is listed as of today, and as this comment points out, that's because in metadata lookup, you're always looking at a snapshot from today into the future.

There may have been intervals in the past, but they're not really interesting for import and they're not interesting for metadata lookup. So we're going to put this on sale. We're going to have a July 4th sale. I'm going to stick another interval in there, if I can find the right spot.

Which that is not the right spot. So this interval has a start date of July 4th and an end date of July 5th. We're going to bring it down to price tier one. Now there's an ambient interval here

[Transcript missing]

So the next thing I'm going to do, having edited that, is use the command line to upload it.

So the package was uploaded successfully. So here's where I need to kill a little time. Because this is an asynchronous process. Why is this an asynchronous process? This is the same system that's importing music, videos, books, your apps, all the content that we sell in the iTunes Store.

So we don't want to make you wait while you're in a queue along with that other stuff. So the first part of the process, accept your package, make sure it's valid, and then we take it in. And then we're going to import it. So I'll take a look over here and see if it's imported yet. There we go.

Thanks very much. So that's coming this fall. And I will now turn to be back over to Ricardo. So two points on that. One, there's a gentleman that filed a wrist injury radar. I'm not sure if you're in the audience, but this is for you. And we do listen to all the radars, so file them if you have enhancements that you'd like in our tools. Secondly, we have tons and tons of content that we import every day. Daily TV shows, thousands and thousands of songs, terabytes of data. So those imports that Dave sent got behind some of that stuff that was probably higher priority. Okay. XML Feed Support. That's coming this fall.

Some best practices, some ITC gotchas. App delete mistakes. Once your app is deleted, it's gone. No, really, it's gone. So don't complain when it's gone. And so is the app name. So be careful when you want to delete your app. Edit your Bundle Identifier. This is just news in case you haven't heard about it. If your app has not been submitted to the store, the binary, you can edit your Bundle Identifier before doing that.

Six months is the limit for reserving your app name in iTunes Connect. In-App Purchase Submission. The first time you submit in-app purchases for your application, they must travel with a binary for app review. Subsequent submissions can use the ad hoc submission process. And when you go to submit them, on the version update page, you'll want to select the in-app purchases appropriately that travel with that binary. Meaningful descriptions. You should highlight your app's features and summarize your hardware requirements. Direct your customers to your support URL for in-depth requirements on your CPU, RAM, video cards, etc.

Beta Trial, invite-only apps are definitely considered betas and they will be rejected. For providing a demo account, make sure the demo account works for the entire app, not just for a portion of it. Registration. You can't prompt a registration page to collect information from the user unless you have account-based features. Your support URLs, your marketing URLs, and your privacy URLs should be functioning, they should work, and they should be relevant to your application. Category, it's necessary to choose a relevant category for your app. Web Content. You should avoid building 100% web views in your application.

Compatibility. If you have an iPhone-only app, it needs to be tested in compatibility mode on the iPad. If it doesn't work on the iPad in compatibility mode, it will be rejected. The In-App Purchase Type, please choose correctly. Auto-renewable, non-renewing, consumable, non-consumable, or if you're using a newsstand. Some import errors that we commonly see that you get an import error email for post delivery. We often see missing values in these Info.plist entries for the CFBundleIcon, CFBundleIconFiles, and CFBundleIconsArray.

In terms of your equity signing for document storage, Important to note that the first key, Ubiquity Continuum Identifiers, is actually an array and it's prefixed by your team ID from the WWDR Developer Portal. And the second is a string prefixed by your team ID also from the WWDR Portal.

Invalid signature, we often see this. This happens mostly because of an expired or revoked certificate. You submit the binary to us, we send you an email saying it has an invalid signature. If you get one of those emails, you'll want to check this first. and Malform Frameworks. We often see code signing issues with frameworks. On the OS X side, you want to see the Developer OS X Programming Guide. It has a very strict structure on how you need to organize things for your file structure for signing.

And that's our four areas for today. For more information, Paul Marcos is our Application Services Evangelist. iTunes Connect Developer Guide, as always, is available on iTunes Connect at apple.com. This video will be posted at developer.apple.com/videos, especially for those that are using the Game Center grouping UI. I highly recommend you walk through the examples and the demo that was given today.

And of course, the dev forums at [email protected]. Selling products with StoreKit, highly recommended. You check that one out from yesterday, especially if you want to use the Apple or In-App Purchase hosted content. That was from Daniel Feldman. That will be available on video. We have tools and services APIs for iTunes affiliates here at 11:30.

Building great newsstand apps, manage subscriptions with In-App Purchase. It's also an In-App Purchase session. And building and distributing custom B2B apps if you're interested in the custom B2B program. In summary, Play around with the Mountain Seed and get your app ready for In-App Purchase hosted content. The Sandbox is ready now for In-App Purchase hosted content and so are the tools, Application Loader and iTunes Connect, as well as Game Center.

The Game Center grouping, as we mentioned, the UI is available for merging your leaderboards and achievements. The grouping in OS X will go live with Mountain Lion. Because we have backwards compatibility to iOS 4 and iOS 5, those go live too. So you'll have grouping on both platforms without iOS 6 when Mountain Lion ships. and you should start implementing iOS 6 support. Again, In-App Purchas hosted content, that sandbox is live now. And iOS 6 binaries will be accepted in the fall. Thank you and have a good rest of your week.