When we are making a React native app we are taking care of each and everything like coding, designs, tools, etc. But at the app launch time, we have to catch up on all things and sometimes we miss something while uploading app time which causes an app rejection or breaks the app working flow.
So today in this blog article I will give all the information that you may need before deploying a React native to respective Apple and Android Google stores & also while implementing business logic time.
Your app name must be unique and approved by your client (If it’s a client project). App name meaning can be relatable to your app features or what your app will provide. App Name must not contain “DEV”, “STAG”, or “TEST” these kinds of words. App ID means Android package name and iOS bundle ID must be unique and you also need to verify it does not already exist in respective stores for any application.
Android in App Store: Android App Store
iOS: In App Store Connect when you register your app at that time you can verify it.
If your app uses Firebase credentials and related services like cloud messaging, crashlytics, authentication, etc. then it must be from Firebase’s Production account. Your Android & iOS production apps should be registered in a Firebase account and related google-service.json & google-info.plist files must be available in your code.
For Apple Certificates you must need to create and use distribution certificates. You also need to create and use Provisioning Profiles which contain distribution certificates and are associated with production bundle identifiers. You also need to ensure that your production bundle identifier contains all the required capabilities.
For Android, you need to create a Keystore for the release build of your application. The keystore file format will be .jks or .keystore. You can store keystore information in variables in gradle.properties files like given below :
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=*****
After this, you need to do some configuration steps in the Android/app/build.gradle file for making a release which needs to be binded with the created release keystore given below:
android { signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { signingConfig signingConfigs.release } } }
If you are using AWS for photo/video uploading or video streaming you need to fetch credentials from the server side using reset APIs. Because in client-side apps it’s not secured. If you will use credentials directly in the frontend side mobile app you will get an App Rejection from Google Side at app review time.
Rejection Reason Will be Like this: Leaked AWS Credentials Your app(s) expose Amazon Web Services credentials.
If you are using a login with a social account feature in an app for authentication you need to use “Sign In with Apple” because Apple will reject your app if it can’t contain the “Sign In with Apple” features. You need to make sure your app contains Capabilities for “Sign in with Apple” and bundle id contains the same.
If you are implementing “Sign in with Google” in your app you need to make sure your production Android package name must be registered in Google Api Console and it should contain the SHA-1 certificate fingerprint key of the production keystore. Before Going Live you need to get the SHA-1 key from your Google Play console’s account from the App signing section. Otherwise, your app which downloaded from Google Play will not work with “Sign in with Google”. In the Google API console, you also need to fill required information in the OAuth consent screen section and verify your app in production mode.
If you are implementing “Sign in with Facebook” in your app, you need to make sure that the Production Bundle ID and the key hash of the keystore are added to the Facebook developer account’s basic settings. Additionally, ensure that the key hash of the Google Play integrity is also added to the Facebook developer account’s basic settings otherwise you will have the same issue as “Sign in with Google”.
For submitting apps to Google Play Store and Apple Store you need to fill in information with details in a proper manner.
Before going live you need to remove all unwanted codes, consoles, unused SDKs, Extra Files, and Other Resources. You need to do proper testing before uploading the app to Live.
If your app contains login and authentication with a feature you need to provide the user “Delete Account” feature because it’s required by apple and Google. If your app contains a chat type of feature you also need to include “Report chat/user” and “Block chat/user” features in your app.
If your app contains any payment related integration or feature you have to take care of modes. If your app concept contains features of Digital Goods like “Purchase Song”, “Subscription”, “Coin in Game”, etc you need to implement in-app purchases for that. Otherwise, your app rejection can be high. If your app feature is related to physical things like “Food Delivery”, and “E-commerce” then you can add any payment mode and integration.
You can get more requirements related to uploading from this document.
In this article, I have provided all the required information that you need to know before uploading your mobile app to respected stores. These things can be useful to prevent the rejection of your app from stores. This note can be helpful only at the time of uploading your app.
By exploring the unique challenges and considerations associated with both Android and iOS platforms, developers armed with React Native have gained insights into optimizing their applications for a wide user base.
!! Enjoy, Keep, and Do Delicious Coding !! 🙂🙂
How to Effectively Hire and Manage a Remote Team of Developers.
Download NowThe team at Mindbowser was highly professional, patient, and collaborative throughout our engagement. They struck the right balance between offering guidance and taking direction, which made the development process smooth. Although our project wasn’t related to healthcare, we clearly benefited...
Founder, Texas Ranch Security
Mindbowser played a crucial role in helping us bring everything together into a unified, cohesive product. Their commitment to industry-standard coding practices made an enormous difference, allowing developers to seamlessly transition in and out of the project without any confusion....
CEO, MarketsAI
I'm thrilled to be partnering with Mindbowser on our journey with TravelRite. The collaboration has been exceptional, and I’m truly grateful for the dedication and expertise the team has brought to the development process. Their commitment to our mission is...
Founder & CEO, TravelRite
The Mindbowser team's professionalism consistently impressed me. Their commitment to quality shone through in every aspect of the project. They truly went the extra mile, ensuring they understood our needs perfectly and were always willing to invest the time to...
CTO, New Day Therapeutics
I collaborated with Mindbowser for several years on a complex SaaS platform project. They took over a partially completed project and successfully transformed it into a fully functional and robust platform. Throughout the entire process, the quality of their work...
President, E.B. Carlson
Mindbowser and team are professional, talented and very responsive. They got us through a challenging situation with our IOT product successfully. They will be our go to dev team going forward.
Founder, Cascada
Amazing team to work with. Very responsive and very skilled in both front and backend engineering. Looking forward to our next project together.
Co-Founder, Emerge
The team is great to work with. Very professional, on task, and efficient.
Founder, PeriopMD
I can not express enough how pleased we are with the whole team. From the first call and meeting, they took our vision and ran with it. Communication was easy and everyone was flexible to our schedule. I’m excited to...
Founder, Seeke
We had very close go live timeline and Mindbowser team got us live a month before.
CEO, BuyNow WorldWide
If you want a team of great developers, I recommend them for the next project.
Founder, Teach Reach
Mindbowser built both iOS and Android apps for Mindworks, that have stood the test of time. 5 years later they still function quite beautifully. Their team always met their objectives and I'm very happy with the end result. Thank you!
Founder, Mindworks
Mindbowser has delivered a much better quality product than our previous tech vendors. Our product is stable and passed Well Architected Framework Review from AWS.
CEO, PurpleAnt
I am happy to share that we got USD 10k in cloud credits courtesy of our friends at Mindbowser. Thank you Pravin and Ayush, this means a lot to us.
CTO, Shortlist
Mindbowser is one of the reasons that our app is successful. These guys have been a great team.
Founder & CEO, MangoMirror
Kudos for all your hard work and diligence on the Telehealth platform project. You made it possible.
CEO, ThriveHealth
Mindbowser helped us build an awesome iOS app to bring balance to people’s lives.
CEO, SMILINGMIND
They were a very responsive team! Extremely easy to communicate and work with!
Founder & CEO, TotTech
We’ve had very little-to-no hiccups at all—it’s been a really pleasurable experience.
Co-Founder, TEAM8s
Mindbowser was very helpful with explaining the development process and started quickly on the project.
Executive Director of Product Development, Innovation Lab
The greatest benefit we got from Mindbowser is the expertise. Their team has developed apps in all different industries with all types of social proofs.
Co-Founder, Vesica
Mindbowser is professional, efficient and thorough.
Consultant, XPRIZE
Very committed, they create beautiful apps and are very benevolent. They have brilliant Ideas.
Founder, S.T.A.R.S of Wellness
Mindbowser was great; they listened to us a lot and helped us hone in on the actual idea of the app. They had put together fantastic wireframes for us.
Co-Founder, Flat Earth
Ayush was responsive and paired me with the best team member possible, to complete my complex vision and project. Could not be happier.
Founder, Child Life On Call
The team from Mindbowser stayed on task, asked the right questions, and completed the required tasks in a timely fashion! Strong work team!
CEO, SDOH2Health LLC
Mindbowser was easy to work with and hit the ground running, immediately feeling like part of our team.
CEO, Stealth Startup
Mindbowser was an excellent partner in developing my fitness app. They were patient, attentive, & understood my business needs. The end product exceeded my expectations. Thrilled to share it globally.
Owner, Phalanx
Mindbowser's expertise in tech, process & mobile development made them our choice for our app. The team was dedicated to the process & delivered high-quality features on time. They also gave valuable industry advice. Highly recommend them for app development...
Co-Founder, Fox&Fork