[ Music ]
[ Applause ]
Hello and welcome to our session on What's New in App Store Connect.
My name is Tommy McGlynn and I'm an App Store Connect Engineer.
Today our focus is the App Lifecycle.
This is everything from the moment you first began creating an app to the moment you make it available in the App Store.
As we look at the lifecycle today, we'll highlight some things that are important to know and we'll look at recent improvements to specific phases of the lifecycle.
And finally we'll look at some brand new features that you haven't seen yet.
So let's begin where it all starts for every developer and that's where we design and develop apps in Xcode.
Xcode is where you create apps, and we've just announced that you can now deliver amazing watch apps without needing to build an iOS companion app.
And these apps will be fully supported in App Store Connect from TestFlight through to through to the App Store and customers can discover your app right on their watch, in the new App Store built specifically for Apple Watch.
Now you've built an app in Xcode and you're ready to share it with the world.
The next step is to upload your app.
A common way to deliver apps today is within Xcode or with Application Loader which is an app that's installed with Xcode.
Beginning with the beta of Xcode 11, Application Loader will no longer be included.
Instead, we've created a new dedicated experience for delivering apps that does not require you to install Xcode.
It's called Transporter.
This is a dedicated Mac App that's super easy to use and it's a great way to deliver your apps.
Transporter is also a localized app.
So it's a great experience for anyone on your team across many languages.
So let's take a closer look at how to use Transporter.
First you sign in with your Apple ID.
Then if you belong to multiple teams, you'll choose one from the drop-down list.
Now it's time to select the files that you want to deliver.
Transporter uses a simple drag-and-drop interface.
You just take your IPA that you've exported from Xcode, drag it over Transporter and drop.
From there it's a simple click to begin verifying the package.
Transporter will display warnings and errors that occur during validation so you can find and fix them early.
Once errors have been addressed you can click to deliver the package.
Transporter will display delivery progress and you have the option to cancel or restart deliveries that have not yet completed.
You also have the option to verify many packages at the same time.
Simply drag all of them into Transporter and click to begin validation.
That's transporter for Mac.
It's really easy, and I know it could be a great tool for your team.
So once your app is uploaded, we do some further validations and some issues can only be diagnosed after we've received your app.
If we do find any issues, you'll receive an email to let you know, and we've recently made some enhancements to these emails.
First we added the version number prominently in the subject line.
We also added additional context to help you quickly understand the problem.
And finally we added numeric codes for each error.
These will help you find more details on each error type.
We've also introduced a new way to view your builds after they've been uploaded with the new Build Activity View in App Store Connect for iOS, where you can see all of the recent builds that you've uploaded along with detailed information about each build as well as the download and install sizes for each device model.
In addition to Build Activity, there's a new notification type that you can enable called Build Processing Changes.
This is a great way to be notified immediately as your builds finish processing.
Now you've delivered your app and you're moving from development into the testing phase.
The next step in the App Lifecycle is TestFlight.
We've built some exciting new features for TestFlight and to tell you all about it I'd like to invite Pyam on stage.
[ Applause ]
My name Pyam Yousofi [assumed spelling], and I'm an engineer on App Store Connect.
I'm really excited to be here today to tell you all about what's new with TestFlight, but first let's reflect a little bit.
Last year we introduced Public Links.
This made it so much easier for you to invite lots of new people to test their apps.
All you needed to do is create a unique URL, you can share it with anyone, anywhere all without an email address.
One of the first adopters of Public Links was Snapchat and they had some great things to say.
I'd like to read it to you now.
TestFlight Public Links reduce friction for our testers.
It increased our tester pool in a way that's lightweight and easier to maintain while providing us with more than twice the amount of useful pre-release feedback.
It's that awesome?
And we've been working harder to reduce friction for testers even more.
This year we improved the TestFlight app by localizing it in dozens of additional language.
That means that it's even more effortless for testers worldwide to start testing their apps.
And now that you have lots of new testers, you're probably eager to hear from them.
We know how important it is for you to learn about new bugs and crashes as soon as they happen during the testing phase, and we know that sometimes you don't always get all the detail you need from your testers when they send you issues.
So today I'm really excited to announce something completely new for TestFlight.
We've printed features that will improve the beta testing experience, and we call it TestFlight Feedback.
[ Applause ]
Yeah, these are some great enhancements that help increase the quality and quantity of feedback you receive from your beta testers.
So now when testers first start testing your app, they're see a new onboarding experience that helps them get up to speed on what to test and how to start sending you feedback.
Now there's two new ways to start sending feedback.
First, testers can send screenshots to you without ever leaving your app.
And second, testers are prompted any time a crash occurs so they can quickly send you feedback about that crash.
And we'll also go over new sections in App Store Connect that let you manage all the feedback you collect through Test Flight, but first let's take a closer look at how testers can send you feedback in a demo on my iPhone.
So, my team invited me to test a beta version of their app called Forest Explorer.
It's still early in development and so there's lots for me to give feedback on.
Let's start testing it together.
Now when you launch that first version of an app, you see this new onboarding screen.
It tells you everything you need to know to get started and all you have to do is enter test notes on the builds in App Store Connect and it will display here.
So here I can see that my team wants me to be on the lookout for issues in layout and usability.
Sounds good to me so I'll tap next.
Here we see steps on how to start giving feedback just by taking a screenshot.
I'm excited to give it a try.
So let's start testing.
Here's Forest Explorer.
So you see my photo feed and some trails on the feed, and right off the bat I can see that the Half Dome Trail, it's kind of darker in text in comparison to the other trails.
So this is a good opportunity for me to send some feedback.
I'll take a screenshot, tap on the preview, and here when you tap done, there's a new Share Beta Feedback Option.
This is available to all beta apps that's feedback enabled.
Tap on that it opens up a dialogue for me to enter more information.
Because I'm a Public Link tester I have the option to include an email address with this piece of feedback, but for now I'll just add some comments.
The text should be more consistent with the other trails and I'll tap submit and that's it.
I just sent some feedback.
[ Applause ]
Let's keep looking around.
On a trail, I see some trails that I've saved on this app, and I can see that the icons on the lower left are kind of clipped off-screen.
So this might be a good place for me to send some more feedback.
I'll take a screenshot and while I'm at it I'll take a second screenshot too and that way I can crop the first one, but leave the second one intact for context.
I'll even mark it up just to point out where the issue is happening, and I'll tap done and share beta feedback.
Again, I can include comments about what the issue is, the icons are clipped off-screen, and I'll tap submit.
And that's it.
I've sent multiple screenshots.
Isn't that awesome?
[ Applause ]
Let's keep testing around.
I'll tap on nearby and see what trails are around and let's find a Half Dome Trail on the map.
Okay, Forest Explorer just crashed and this is a new feature that's a part of feedback.
Now when your beta apps crash, testers are prompted to share feedback about the crash.
So I know my team will want to know about this so I'll tap share and here I can include steps on what caused the crash.
Tapped on the Half Dome Trail and the app crashed.
And that's it.
I've just sent some crash feedback to my team and they'll know where to start debugging thanks to the feedback I sent.
So I think I'm done testing Forest Explorer for now, but as you can see, I've been able to send a bunch of valuable feedback in just a few minutes of testing.
Isn't that exciting?
[ Applause ]
These are some really great features and sending feedback through TestFlight has never been easier and as a developer, you don't have to do any extra work to get quality feedback from your testers.
So finally, let's talk about managing the feedback in App Store Connect.
You'll be able to view feedback submissions shortly after you receive them and you'll have helpful filters where you can find feedback that's important to you.
Each feedback submission will include details about the tester and their device and each feedback will be available to download in a zip file.
And in cases where you want to stop receiving feedback, you can disable it too.
So let's take a look at these in more detail.
To manage your crash feedback just select the Crashes tab in TestFlight and from here you'll view detailed information about all the crashes you've received from your testers.
You can filter crashes by things like App Version, Build Version or Device Model to help find specific crashes you're looking for, and each piece of feedback contains useful details about the tester and their device at the time of the crash.
So you'll find things like connection type and free disk space available or even the battery life of the device when the app crashed.
And if you need to share feedback with members of your team outside of App Store Connect, you can download a zip file too and it'll include everything you see plus the crash log when the crash happened.
Now it's even easier for you to track down what caused your app to crash.
So what about the screenshots that your testers send you?
Those live in the Screenshots Tab in TestFlight.
You'll be able to find a gallery of screenshots feedback that your testers have submitted.
Just like in crashes you can filter screenshots by some helpful filters.
For example, you may want to look for some feedback from testers using different devices than the ones you normally build with.
So you can select the device like the iPhone SD, for example.
And now filtered you can discover any issues on smaller screens.
So here we see a couple of screenshots testers have sent about Forest Explorer.
Let's take a look at one more detail.
This tester is reporting a major layout issue similar to the one we saw earlier.
Screenshot feedbacks contain the same helpful details that you'll find in crash feedback.
So you'll find things like screen resolution, device model or iOS version of the device.
So paired with screenshots you'll be able to better troubleshoot the testers feedback.
You can also download a zip file too and it'll include all the screenshots you see in TestFlight plus the details that are in App Store Connect.
If at any point you want to stop collecting feedback, you can disable it at the tester group level.
This means that your testers will no longer see the onboarding screen or be able to send you feedback from directly within your app, but you can re-enable this at any time.
So these are some of the ways you can manage feedback that you receive through TestFlight and App Store Connect.
With all these improvements, you'll be able to receive more effective feedback at any point during the testing phase and testers can start sending you feedback today.
Anyone running iOS 13 will be able to use all of these new features in TestFlight.
We're really excited about TestFlight feedback, and we want to start receiving feedback from you too.
So today we're announcing the TestFlight Beta Program.
This means that you can get early versions of TestFlight for iOS, test the latest features and give us feedback.
You can sign up for the beta on a Developer Downloads Page.
We're excited to receive feedback and help improve TestFlight even more.
Thank you so much, and I'll give the stage back to Tommy.
[ Applause ]
Those are great new ways to receive feedback about your beta apps.
After you've received feedback and you've iterated on your app, it's time to transition to the App Store, but first something you'll likely think about is how to price your app.
The App Store enables you to generate sales globally to millions of customers in 155 territories.
We ensure that you can do business with as many customers as possible by consistently adding support for new payment methods so customers can pay for your app in whichever method they prefer.
And with new support for the Korean won, you can now generate sales across 45 unique currencies.
Although you can generate sales across all currencies, your business doesn't need to handle payment for all them because we consolidate all of your proceeds into a single payment to your bank account.
For those of you who offer subscriptions you have 200 different price tiers to choose from, and we recently released a feature called Subscription Offers.
These allow you to offer a discount or free period of service for subscriptions and you decide which subscribers qualify for the offer.
This is a great way to retain existing subscribers or to win back previous subscribers.
There's a lot of great ways to utilize subscriptions, but I won't go into detail here because we have two sessions on this tomorrow, and I encourage you to check these out.
Now you've nailed down the pricing strategy and next there's something equally important to think about and that's how your app is represented in the App Store Product Page.
This involves app naming, description and keywords which make it easier for customers to discover your app and when it comes to reaching as many people as possible, a key aspect is localization.
If we take English as an example, only about 5% of the world speaks English as a first language.
So when you localize your product page there's a huge opportunity to reach more people.
We focus on supporting a lot of languages, and we recently added support for more.
To tell you more about these languages and how you localize your product page, I'd like to invite Ethar [phonetic] on stage.
[ Applause ]
My name is Ethar Elsaka [assumed spelling], and I'm an engineer on App Store Connect.
Today we will talk about a very exciting feature related to your apps metadata.
We believe that localization is the key aspect for making your apps more accessible to the global audience.
We are always working hard to introduce new language support and just this past year we introduced nine new languages bringing the total number of languages supported by the App Store to 37 languages.
[ Applause ]
Actually let me pause here and give you a pop quiz.
Who knows what does aikhtibar [phonetic] mean?
And what about tatbiq?
So here is your first Arabic lesson.
Aikhtibar means test and tatbiq means app.
If you wonder why I give you this Arabic quiz, this is because Arabic is one of the right to left languages and today I'm very excited to share that for the first time in the App Store with iOS 13 we are supporting Arabic and Hebrew.
[ Applause ]
So now these customers can set their iPhone language to Arabic or Hebrew and enjoy browsing our App Store content in their preferred language.
As you can imagine, this is not a small effort and it requires a rethink of almost every aspect of display and interaction, UI layout, navigation controls, animation and editorial artwork.
We believe that the presence of localized app and editorial content will lead to a deeper and more integrated experience for hundreds of millions of customers on iOS and Mac, from browse and purchase through App Launch.
So to let these customers enjoy our apps in their native language, we need to localize ours apps in App Store Connect and now let me show you how we can do that.
Once I'm at the home page, I will click on my apps, which contains all the apps under the Nature Lab team.
I choose to localize the first Explorer App to make it easier for my friends and family in Egypt to use it.
I don't know where because we don't have forest in Egypt but maybe when they come visit.
[ Laughter ]
Now I need to select the version that I want to localize and since this app has never been released it has only one version.
Let me add Arabic language from the drop-down menu on the right and now I'm ready to localize my app.
I will need the promotional text and since right to left is new in the App Store Connect, I will give the first Explorer for the Arab people for one year for free.
I also need the description which has detailed information about the Forest Explorer functionalities and features.
I also need to add meaningful keywords to make my app more discovered.
I can save for now, but I still need to add the screenshots and the support URL to be able to submit my app for review.
Now let me show you how the Forest Explorer will look in the App Store.
Here is how the Forest Explorer will look in the App Store after releasing it.
[ Applause ]
Also I'm super excited that now TestFlight is available in Arabic and Hebrew, which I believe would provide a good experience for Arabic and Hebrew speaking tester while testing apps.
To summarize, we believe that localization is important to provide the best possible app experience for everyone.
We have embraced this and now App Store supports 39 languages including Arabic and Hebrew, with right to left support for the first time today your app can reach over 250 million potential customers.
And, finally, don't forget to submit your Arabic and Hebrew localization in App Store Connect today.
Thank you and let me hand it back to Tommy.
[ Applause ]
Thank you, Ethar.
Localizing your product page is a great way to improve discoverability and now you can do that for more languages than ever before.
Now you've built and iterated on your app, you've set a pricing strategy and you've localized your product page.
The final step is submitting for review.
To make sure that goes as smooth as possible we have some guidelines to keep in mind.
The first one, of course, is please test your app on a device before submitting it.
Ensure you fill out all app information and metadata.
Keep your contact info up to date so we can reach you if there are any issues.
And if your app requires a login, well, that's something we're going to need in order to review your app.
So, please add credentials for a demo account to the review notes.
Also explain any non-obvious features and in-app purchases in the review notes.
I also want to share some frequent feedback that we give developers during app review.
Provide accurate screenshots that show your app in use and make sure the UI corresponds to the correct device type.
Only ask for login credentials when it's necessary to core functionality.
Apps cannot require personal info in order to function.
When requesting access to user data, you need to provide purpose strings that clearly describe how your app will use the data.
Finally, if you offer subscriptions, make sure they're straight forward and very easy to understand.
Now that your app has been reviewed you're ready for the App Store and after your app has spent some time on the store, you'll start to receive customer ratings and reviews.
A great way to see and respond to reviews is with App Store Connect for iOS.
You can also enable notifications for customer reviews so you can see immediately when your app receives a new review.
It's also important to mention that App Store Connect for iOS is now a localized app with support for 14 languages so you can see that localization is an important area of focus for all the tools available to you and your team.
In addition to customer reviews, you have another important tool that can help you decide where to place your development efforts and that's analytics.
With App Analytics you get a wealth of information into how your app is performing on the App Store.
We recently added support for a new platform and that's Mac OS.
So you can access powerful insight into how your app performs on the Mac App Store.
Some of the metrics available for Mac will include Impressions, which is the number of times your app icon has been viewed in the store.
Product Page Views is the number of times your product page has been viewed.
App Units shows how many times your app was downloaded from the store.
And Sales will capture the total amount billed through purchases and in-app purchases.
We're also introducing a completely new metric for iOS Apps called App Deletions.
this will allow you to see the number of times your app is uninstalled from customer's devices.
You might use this to correlate deletions with an issue in a recent version of your app.
Or another interesting view is Deletions by Source Type which shows if a given source is better able to retain customers or what source is resulting in the most deletions.
There's one more exciting announcement about Sales Data.
This is an entirely new time range and level of granularity for your sales data, the 24-Hour Dashboard.
This gives you an hour by hour view into the last 24 hours of sales performance.
[ Applause ]
[ Applause ]
You no longer have to wait until the next business day to view your sales data.
Let's take a look at the new dashboard.
Here we're looking at a sales overview within Sales and Trends, and we see sales data for the last 7 days.
If you filter this view, you can narrow it down to a handful of specific in-app purchases.
At the bottom of the list we see a new in-app purchase that is just released today.
You see that it doesn't have any sales data yet.
This is one case where you'll want to use the 24-Hour Dashboard.
So if you click on the calendar picker, you see a new option for Last 24 Hours.
That will take you to the 24-Hour Graph.
Now you can see sales data on an hourly basis and you can track the success of your brand new in-app purchase as it rolls out to customers.
You can see how this is a powerful new way to view your sales data.
Within the App Lifecycle that brings us back to Xcode where we can take everything we've learned so far and continue creating great apps.
We have some labs tomorrow at 9 and 3, where you can come ask us questions about anything we've talked about.
As always, I can't wait to see what you do with these new capabilities.
I hope all of you enjoy the rest of your time here at WWDC.
[ Applause ]