# Prerequisites

There are important prerequisites to consider before releasing your mobile and TV apps. This article explores the key requirements and guidelines you need to fulfill to ensure a successful app launch - from developer accounts to certificates and app guidelines.

## Stores

### iOS and tvOS

1. Enroll in the [Apple Developer Program](https://developer.apple.com/programs/enroll/), which requires a yearly fee. 
2. Create an account on [App Store Connect](https://developer.apple.com/app-store-connect/) to manage your app's submission, distribution, and performance.
3. The [Bundle ID](https://developer.apple.com/documentation/appstoreconnectapi/bundle_ids) is crucial for app distribution, signing, updates, and analytics. 
4. Provisioning Profile. Info from the official website can be found [here](https://developer.apple.com/help/account/manage-provisioning-profiles/create-an-app-store-provisioning-profile/).
5. Distribution certificate. For more info please refer to apple developer [website](https://developer.apple.com/help/account/create-certificates/create-enterprise-distribution-certificates).
6. p8 appstore API key. For more information please refer to apple developer [website](https://developer.apple.com/help/account/manage-keys/create-a-private-key/).
7. App store API key ID. For more information please refer to apple developer [website](https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api).

### Android mobile / Tv

1. Create a Developer Account on Google Play Console, which is the platform for managing app releases on the Google Play Store. [Google Play Console](https://support.google.com/googleplay/android-developer/answer/6112435?hl=en#zippy=%2Cstep-sign-up-for-a-google-play-developer-account).
2. Application ID. More info on what needs to be done is [here](https://developer.android.com/build/configure-app-module#set-application-id). 
3. Keystore file, store password, key alias and key password. You can find out how to do it from [here](https://developer.android.com/studio/publish/app-signing#generate-key).

### Fire TV

1. Sign up for an [Amazon Developer](https://developer.amazon.com) account and complete the registration process. You may need to provide some personal and company information.
2. Set up the Developer Console: Access the Amazon Developer Console and create a new Fire TV app project.
3. Application ID, keystore file, store password, key alias and key password are shared with Android TV.

### LG TV

1. Join the [LG Developer Program](https://us.lgaccount.com/login/sign_in?country=US&svcCode=SVC301), which provides you with access to the necessary development tools, documentation, and resources for creating apps for LG Smart TVs.
2. Register as an [LG app Partner](http://partner.lge.com/us/portal/registration/registration/retrieveRegistrationAgreeBack.lge), which will grant you access to additional  resources and enable you to submit your app for distribution.

### Samsung TV
1. Start by joining the [Samsung Developer Program](https://account.samsung.com/membership/intro), which provides you with access to the necessary development tools, documentation, and resources for creating apps for Samsung Smart TVs.
2. Register as a Seller through the [Samsung Seller Office](https://seller.samsungapps.com/tv/login). This step enables you to distribute and sell your apps on Samsung Smart TVs.
3. To launch an application outside the United States or use certain APIs, you must have a [Partner Seller membership](https://developer.samsung.com/tv-seller-office/guides/membership/becoming-partner.html).
4. Author p12 certificate and password to sign the application when submitting the app to the Samsung store. This ensures the certificate holder can submit updates to the store. In addition it prevents anybody but Samsung or Samsung Partners from distributing the app to devices. You can find out how to do it from [here](https://developer.samsung.com/galaxy-watch-tizen/getting-certificates/create.html).
5. Package ID - more info can be found [here](https://developer.tizen.org/development/tizen-studio/web-tools/configuring-your-app/configuration-editor#mw_application).

### Roku
1. Start by creating a [Roku Customer account](https://my.roku.com/index) and then joining the [Roku Developer Program](https://community.roku.com/t5/Roku-Developer-Program/bd-p/roku-developer-program), which grants you access to the necessary tools, resources, and documentation for developing and distributing Roku apps. There may be a one-time fee associated with joining the program.
2. Developer package.
3. Developer ID.
4. Developer password.
If this is a new app, please contact your CS representative to obtain credentials.

## 3rd Party Integrations Pre-Reqs

### Firebase Analytics / GA

1. Firebase account. More info can be found [here](https://support.google.com/firebase/answer/6317479?hl=en#create-an-account&zippy=%2Cin-this-article).
2. Set up your apps in Firebase. More info can be found [here](https://support.google.com/firebase/answer/9326094?hl=en).
3. Provide access to the console granted to: stores@applicaster.com.
4. Plist configuration file for iOS/tvOS app. More info can be found [here](https://support.google.com/firebase/answer/7015592?hl=en#ios&zippy=%2Cin-this-article).
5. JSON configuration file for Android/FireTV/AndroidTV apps. More info can be found [here](https://support.google.com/firebase/answer/7015592?hl=en#android&zippy=%2Cin-this-article).
6. GA4 measurement ID (G-XXXXXXXXXX format). More info can be found [here](https://support.google.com/analytics/answer/9539598?sjid=3661633374671311516-EU#find-G-ID).
