Once your Apple TV app is built, it is in your App Store Connect account, in TestFlight. From there you create the App Store listing and submit it for review. Apple only lets the account owner do this, so this part is yours; this article walks you through it.
Your app page on apps.tappla.com (the link we sent you) has an Apple TV section with screenshots of your app, ready to upload, and the answers below already worked out for your app.
Try it on your own Apple TV first
In App Store Connect, open Apps → your app → TestFlight.
Under Internal Testing, click + next to the group and add your own Apple ID.
On your Apple TV, install TestFlight from the App Store and sign in with that Apple ID. Your app shows up there.
Fill in the listing
Open Apps → your app → the tvOS version (1.0 for a first release).
Previews and Screenshots: upload the screenshots from your app page. Apple takes 1 to 10 at 1920×1080 or 3840×2160 and wants them to show the app in use.
Description, keywords, support URL: your own words; the support URL can be your website.
Build: select the build that is in TestFlight.
App Information: pick a category (most channels use Entertainment) and answer the content rights question. If any of your videos come from other creators, answer Yes and confirm you have the rights to show them.
Privacy policy: add your privacy policy URL. Apple TV also asks for the policy as text, because a television cannot open a link. Paste a short version of your policy there.
App Privacy and age rating: see below.
Click Add for Review, then Submit.
Selling in the EU? Apple then asks for your trader status under the Digital Services Act and shows your contact details on EU store pages. If you don't want that, remove the EU countries under Pricing and Availability.
Encryption: Apple won't ask. The app only uses standard HTTPS, and that answer is already in the build.
App Privacy: what the app collects
Apple asks: "Do you or your third-party partners collect data from this app?"
The app has no analytics, no crash reporting, and it reads no location. It loads your catalogue, your images and your videos. So for most apps the answer is No, and the label reads Data Not Collected.
An app without ads contains no ad library at all. Only an app we built with ads for you includes Google's ad library (the IMA SDK); that case is section 3 below.
Three things can change the answer. Check all three before you answer.
1. If your app has members-only or paid videos
When a viewer activates their television to watch locked videos, the app sends a random device ID that it generated itself, so we can remember what that television may play. It is not a hardware identifier and it is not tied to a person, but it does leave the device. Then answer Yes and declare:
Identifiers → Device ID, purpose App Functionality, not linked to the user's identity, not used for tracking.
If every video in your app is free to everyone, this does not apply.
2. Where your videos are hosted
Your videos stream from your video host (for example Bunny, Vimeo or your own CDN), not from us. If your host's dashboard shows you views, watch time or a breakdown by country, the host records that from your viewers' televisions. Then answer Yes and declare:
Usage Data → Product Interaction and Location → Coarse Location, purpose Analytics, not linked, not used for tracking.
We can't see inside your hosting account, so this one is yours to check. The same reasoning applies to the other stores; see What data does my Fire TV app collect?
3. If your app was built with ads
This applies only to an app we built with ads for you. Ads are not a switch in an existing app: an app built without them contains no ad library, so turning ads on means a new build from us and a new review from Apple.
When ads are on in your dashboard, Google's ad library asks your ad server for ads and reports which ones played. Google declares what it collects in its own privacy file, and your label has to include it. Answer Yes and declare these, each with the purposes Third-Party Advertising, Developer's Advertising or Marketing and Analytics:
Category | Linked to the user | Used for tracking |
Identifiers → Device ID | Yes | Yes |
Usage Data → Advertising Data | Yes | No |
Usage Data → Product Interaction | Yes | No |
Location → Coarse Location | Yes | No |
Diagnostics → Performance Data | No | No |
Diagnostics → Other Diagnostic Data | No | No |
The app never asks viewers for permission to track (Apple's tracking prompt), so the Apple TV's advertising identifier stays hidden from the ad library. The device ID above is the ID Apple gives the app itself. Only non-personalised ads on your Ads page (on by default) asks Google Ad Manager for ads without identifiers, but the library's privacy file stays the same, so keep the table as it is.
Your ad server's own documentation is the authority on what it collects. Add it to your label the same way, and name it in your privacy policy. In the age rating, answer the question about ads with Yes.
Age rating
Apple asks two kinds of questions.
About the app: answer No throughout. The app has no user-generated content, no chat, no web browser, no gambling or contests, and no parental controls. Ads are the one exception: if you switched them on, answer Yes there.
About your content (violence, language, mature themes and so on): answer for the videos in your channel. Only you know them, and Apple works out the rating from your answers. If your catalogue changes later, you can update the rating with your next version.
After you submit
Review usually takes a few days. If Apple asks a question or rejects the app, forward us the message from the Resolution Center and we'll answer it with you.