Congratulations, you've finished your development process and now you're looking to deploy your React Native app on the Apple App Store and Google Play Store. While React Native is a great cross-platform development tool, it doesn't automate the process of deploying your app to the stores.
App Launch Prerequisites
There are a few pieces of information that you need to have ready before launching your mobile app on both the App Store and Google Play. They include:
- App Name: Short, catchy, unique, and relevant.
- App Description: Describe what your app does while trying to organically include relevant keywords.
- App Screenshots: Use screenshots to promote key features of your app, with the most important or valuable ones first.
- App Version: The user-facing version number for your app on app stores.
- Bundle ID: The standard format is com.CompanyName.AppName (e.g. com.spotify.music).
- Developer/Publisher Profile: Apple Developer and Google Play Publisher accounts.
Apple App Store Prerequisites
- App Icon: A 1024x1024 px icon with no transparency.
- Keywords: You have 100 characters to choose as many relevant keywords as you can, separated by commas.
- Countries: Choose whether your app will be available worldwide or in selected countries.
- App Category: Pick an App Store category and subcategory that best suit your app.
- Copyright: YYYY Company Name.
- Test Account: A demo account created to be used by Apple during their review of your app. This account can be removed once your app has been approved.
Google Play Store Prerequisites
- App Icon: A 512x512 px icon. Transparency is allowed.
- App Category: Select one of the Google Play categories.
Make sure to follow app store optimization best practices to make the most out of your app store page on the App Store and Play Store to boost your app’s discoverability, downloads, and ranking.
Publishing an Expo App
To publish your Expo app, first, make sure that all your app.json configurations are set up. It looks something like this.
There are many properties that you can add, but only three are required:
- name: The name of your app as it appears both within Expo and on your home screen as a standalone app.
- slug: The URL slug for publishing. For example, "app-name" refers to the expo.io/@username/app-name project.
- sdkVersion: The Expo sdkVersion to run the project. This should line up with the version specified in your package.json.
Once the app is ready and the configurations are set, follow these steps:
- Select the Publish button in Expo Dev Tools to publish your project. If you're using command line, run "expo publish".
- You will get a link (like this: expo.io/@username/app-name) where two versions of the code will be generated for iOS and Android.
- Every time you update the app, you will need to publish it again, and the changes will be reflected right away and available to your users.
Building an Android App
- Run "expo build:android".
- You will get the following message.
3. You can either upload your own keystore or have Expo generate one for you. If you choose to have Expo generate one for you, make sure to back it up as you will need it to submit any future updates of the app, and without it you won't be able to update the app anymore.
4. To back up the keystore, run "expo fetch:android:keystore".
5. Your Android app will now start building. You can check the status of the build by running "expo build:status".
6. Once your app has been built, you will have a .apk URL of your Android app that you can download.
Building an iOS App
- Run "expo build:ios"
- You will get the following message:
3. Just like Android's keystore, you can either upload your own distribution certificate or let Expo handle it for you.
4. Your iOS app will now start building. You can check the status of the build by running "expo build:status".
5. Once your app has been built, you will have a .ipa url of your iOS app that you can download.
- 13 Essential React Native Tools for Mobile App Developers
- How Much Your Mobile App Performance Costs Your Business
- Performance Monitoring and User Experience for Mobile App Growth
- Mobile App Quality: An Essential Guide
Instabug empowers mobile teams to maintain industry-leading apps with mobile-focused, user-centric stability and performance monitoring.