Skip to main content

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:

Upload a buildAssign a tester groupShare the linkTesters install

Key Concepts​

ConceptWhat it is
AppsEach app holds all builds for a specific mobile application. An app belongs to exactly one team.
BuildsUpload .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.
TeamsIsolated departments in your organization. Apps belong to teams, and members can belong to one or more teams.
Tester GroupsNamed groups of testers. A group belongs to one team and can only be assigned to apps in that team.
Landing PagesEach 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.

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.

note

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.

RolePermissions
Account OwnerFull access to everything in the organization, including organization settings, SSO, OIDC, integrations, and the audit log.
Org AdminCreate and manage teams, invite and manage organization members, plus organization settings, SSO, OIDC, integrations, and the audit log.
Team AdminInvite 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.
MemberCreate apps, upload builds, create tester groups, and invite testers in their team.
TesterView 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 toGo to
Understand build states and expiryBuild Lifecycle
Organize people into teamsManaging Teams
Control who is notified about new buildsNotifications
Review who did what in your organizationAudit Log
Sign in with your identity providerSSO / SAML
Store builds in your own bucketCustom Storage
Post build events to Slack or TeamsWebhooks
Publish to the storesGoogle Play · Apple App Store