Testing - atabegruslan/Notes GitHub Wiki
iOS
TestFlight
TestFlight for Internals
After you uploaded your latest build, you can invite internal testers
https://www.youtube.com/watch?v=ZUeLAMzi-oY
- Setup Login to AppStore with your Apple ID
- Download TestFlight App
- After you install TestFlight and finish the preliminary setups, you'll see:
- After a build of the app has been submitted:
- You'll also see in the TestFlight app:
TestFlight for Externals
After you filled out all the questions and submitted your latest build for review. After a day or so, you can invite external testers
The shared link for external testers is here:
You should regularly refresh that shared link. If a new build has been uploaded, a "Update" button will appear.
Internal Distribution Build
- https://www.youtube.com/watch?v=1fQuGLHxWks
- https://docs.expo.dev/build/internal-distribution
- How to generate
apk
instead ofaab
: https://docs.expo.dev/build-reference/apk - Nowadays Google Play Console only accepts
aab
: https://support.google.com/googleplay/android-developer/answer/2481797
Note
- Internal Distribution Builds are more for alpha testing (internal testing), while iOS TestFlight and Google Play Beta are for both internal (alpha) and external (beta) testing.
- iOS TestFlight are limited to 1 active build (ie: testers can only focus on testing 1 version at a time). It can accomodate for 100 internal testers and 10000 external testers via public link.
Android
Easiest way
Build apk
cd android
./gradlew assembleRelease
Then transfer {project}/android/app/build/outputs/apk/release/app-release.apk
onto your Android Phone.
Build aab
cd android
./gradlew app:bundleRelease
Then upload {project}/android/app/build/outputs/bundle/release/app-release.aab
onto Google Play Console.
Ref:
- https://docs.expo.dev/guides/local-app-production
- https://developer.android.com/studio/publish/app-signing
EAS Build Locally
- Build locally instead of on Expo Cloud: https://docs.expo.dev/build-reference/local-builds
Google Play Beta
Firstly, add your external testers in Testing > {Type} Testing > Manage Your Testing Track > Testers tab > Email list
Copy the "Join on the Web" link. It should be: https://play.google.com/apps/testing/your.package.name
You should also have things set up like this:
Also ensure testers' Android phone's Play Store app and Chrome are signed in with the same email address as the one added into testers email list.
Now paste the link into Android phone's Chrome, accept to be a tester, and the tester will be eventually led into Play Store, where he can download the app.
Also note, make to have your country settings correct, on both Google Play Console and for Play Store's account:
Other notes:
Note: If you have a personal account type, then you need to go through Closed Testing before your app can hit Play Store.
Other ways to share to testers
Disclaimer: I never used those ways, because Firebase is much easier
Others relevant docs
Distribution via Firebase
- https://medium.com/one-thing-i-learned-today/perfect-guide-for-releasing-your-react-native-ios-and-android-app-using-firebase-app-distribution-7107f98ca122
- https://firebase.google.com/docs/app-distribution/create-invite-links
- With invite links, tester just need to keep checking/refreshing
https://appdistribution.firebase.google.com/accept/{some number code}
in order to see the newest updated builds
- With invite links, tester just need to keep checking/refreshing