How to Release a Card Game as a Mobile App with a Companion App
... using React Native with Firebase Auth & Firebase Firestore, and Unity for both Google Play Store and App Store (iOS).
Hello, and Servus!
Welcome to our dev blog, where we share information about the creation of the Mulatschak game app and its companion app. Today, we’ll focus on how to release a card game like Mulatschak as a mobile app developed with Unity 6, alongside a companion app built using React Native, and powered by Firebase Authentication and Firebase Firestore, available on both the Google Play Store and the Apple App Store.
Web Technologies
Pitfalls with NextJS, PWA & building an .apk
During early experiments, we explored building the companion app as a PWA using Next.js. While PWAs are lightweight and quick to deploy, they came with significant limitations:
-
Limited offline capabilities.
-
Complicated device feature access (e.g., notifications or background sync).
-
Trouble generating a reliable
.apk
for Android testing and release.
Conclusion: PWAs were not robust enough for our needs - especially for app store distribution.
React Native is a good solution
React Native offered us:
-
Cross-platform codebase for both Android and iOS.
-
Excellent support for mobile-specific features.
-
Smooth integration with Firebase Auth and Firebase Firestore.
The developer experience was solid, and UI/UX consistency was easier to maintain across platforms. For getting started with React Native development check the Getting Started guide from the official documentation.
How to integrate Firebase Auth & Firebase Firestore (Android development)
To enable user login and data sync between the Unity game and the companion app, we integrated:
-
Firebase Authentication (email + google signin + apple signin)
-
Firestore (NoSQL DB) for syncing groups, player info, and invites/friends.
In Android, the key steps included:
-
Adding Firebase SDK via
google-services.json
. -
Configuring authentication providers in the Firebase console.
-
Setting Firestore read/write rules for public/private game rooms.
Tip: Always test Firestore rules with the Firebase Emulator Suite before releasing.
Google Play Store Release & Project Configuration (& regular Updates)
Publishing to the Play Store involved several important steps and timeline considerations:
-
Google Play Developer Account: Creating an account costs a one-time fee of $25 USD. Account verification includes providing a document like a passport and can take up to 7 days.
-
Creating a New App: Once the account is active, setting up a new app in the Google Play Console can be done in 1 day, assuming all assets, metadata, and configurations (like privacy policies, screenshots, app icons, etc.) are ready.
Building the App: We created release builds using Android Studio and used automated keystore signing provided by Google Play Console.
-
Initial App Review: Google performs a thorough verification before the app is published. This initial review can take up to 7 days.
-
Closed Testing Phase: The closed testing phase requires a minimum of 14 days with (currently) at leas 12 testers before any public release is possible. This phase is important for collecting feedback and ensuring stability.
-
Final Review & First Public Release: After closed testing, the final submission for public release undergoes another review phase of about 3 days.
⚠️ Important: Even with everything fully prepared, we recommend planning at least 1 month in advance for the first Google Play Store app release, due to the cumulative time needed for account creation, testing, and approvals. For further apps we recommend planning at least 24 days in advance for the first release of each app.
-
Post-Release Updates: Updating the app is straightforward: simply bump the version number and version code, upload the new build, and publish the changes. Updates usually go live in under an hour.
For further information, check the official Google Play Console release guide.
Wrap up: App Store (iOS) Release & Configuration
iOS release required additional care:
-
Using Apple Developer Program and Xcode to generate provisioning profiles.
-
Configuring the Firebase iOS SDK via
GoogleService-Info.plist
.
Expect longer review times and stricter UI guidelines compared to Google Play.
Unity
Google Play Store & App Store (iOS) Release
The Mulatschak game app is built in Unity 6 and shares a single codebase for both Android and iOS platforms.
-
Build Configuration: All platform-specific settings - including signing, scripting defines, and asset bundling - were configured using Unity Build Profiles and Player Settings.
-
Platform Exports
-
Android: Builds were exported as
.apk
for testing/debugging or as.aab
directly from Unity, then uploaded to the Google Play Console for the initial release and updates. -
iOS: Builds required a macOS device with Xcode, where the Unity-generated Xcode project was signed and archived for App Store submission.
Takeaways
PWAs proved unsuitable for our needs, so we switched to React Native for the companion app due to its native capabilities and smooth Firebase integration. Firebase Auth and Firestore enabled reliable user authentication and real-time data sync. The Google Play release process requires about a month of preparation, while iOS demands even more attention due to stricter review and provisioning but a way shorter release time. Unity Build Profiles streamlined our multi-platform deployment, and Firebase SDKs connected both apps seamlessly.
Stay posted for further updates.
Yours, Marco
Mulatschak
Status | Released |
Authors | Noobesch, MedusaFaun968 |
Genre | Card Game |
Tags | austrian-classic, Casual, Singleplayer |
More posts
- It's just a Phase - Duh2 days ago
Leave a comment
Log in with itch.io to leave a comment.