Welcome to Mobile App Distribution
Mobile App Distribution shares iOS and Android builds with your team and testers without going through the app stores. Upload a build, choose who can install it, and send them a link.
A typical first distribution takes four steps:
Key Concepts
| Concept | What it is |
|---|---|
| Apps | Each app holds all builds for a specific mobile application. An app belongs to exactly one team. |
| Builds | Upload .ipa (iOS), or .apk / .aab (Android) files, up to 4 GB. .aab files are converted to an APK for installation. Each upload with a new version creates a new build with version info, release notes, and an install link. Uploading a version that already exists replaces that build, unless Allow duplicate versions is turned on in the app's settings. |
| Teams | Isolated departments in your organization. Apps belong to teams, and members can belong to one or more teams. |
| Tester Groups | Named groups of testers. A group belongs to one team and can only be assigned to apps in that team. |
| Landing Pages | Each app gets a customizable install page with a unique URL and a QR code. |
Quick Start
1. Upload a Build
Open App Management in the sidebar, then drag and drop your .apk, .aab, or .ipa file onto the upload area. To add a build to an app you already have, open that app and select Upload Build.
Files can be up to 4 GB. App Distribution reads the package name, platform, version, and build number from the file, so you don't need to enter them.
See Uploading Builds.
2. Create a Tester Group
Select Testers in the sidebar, open the Groups tab, and select New Group. If you belong to more than one team, choose the team the group belongs to.
Add existing testers, or invite new ones by email. A group can only be assigned to apps in its own team.
See Tester Groups.
3. Assign the Group to Your App
Open the app and select the Testers tab. Choose your group from the Select a group dropdown list, pick whether it gets every build or one specific build, then select Assign Build(s).
Only groups belonging to the same team as the app are available for assignment.
4. Share the Install Link
Open the app and select Landing Page ▸ Edit to set the URL alias and visibility, then share the link or its QR code.
Testers open the link on their device and install the app.
See Landing Pages and Installing Apps.
Choose Closed Beta visibility to require testers to sign in before installing. iOS ad-hoc and development builds are always closed beta. See Closed Beta.
Role Hierarchy
Each higher role inherits all permissions of the roles below it.
| Role | Permissions |
|---|---|
| Account Owner | Full access to everything in the organization, including organization settings, SSO, OIDC, integrations, and the audit log. |
| Org Admin | Create and manage teams, invite and manage organization members, plus organization settings, SSO, OIDC, integrations, and the audit log. |
| Team Admin | Invite new users to their team as Members, add existing users to the team, and set their team role. Assigned per-team by an admin or by another Team Admin. |
| Member | Create apps, upload builds, create tester groups, and invite testers in their team. |
| Tester | View and install apps assigned to them directly, through a tester group, or through a build invite. Can be shared across teams. |
For the full breakdown, see Members and Roles.
Automate Uploads
After you have distributed a build by hand, move the upload into your pipeline. Builds upload through the REST API with your API key:
curl -X POST https://your-org.testfairy.com/api/v3/builds/upload \
-H "X-API-Key: $API_KEY" \
-F project_id=$PROJECT_ID \
-F file=@app-release.apk \
-F release_notes="$(git log -1 --pretty=%B)"
Find your API key under My Profile ▸ API Key. See the API Reference for the full endpoint list.
Next Steps
| If you want to | Go to |
|---|---|
| Understand build states and expiry | Build Lifecycle |
| Organize people into teams | Managing Teams |
| Control who is notified about new builds | Notifications |
| Review who did what in your organization | Audit Log |
| Sign in with your identity provider | SSO / SAML |
| Store builds in your own bucket | Custom Storage |
| Post build events to Slack or Teams | Webhooks |
| Publish to the stores | Google Play · Apple App Store |