Internal testing is the fastest Play track. Builds are available to up to 100 testers within minutes of upload, with no Play review. It needs almost nothing set up: as long as your app exists in Play Console and a valid AAB uploads, testers can install it. The store listing, content rating, and App content declarations are only needed for production.
If the AAB build succeeds but the Play upload fails, the build is marked success (the AAB is downloadable from the dashboard) and a separate Play-specific error message is attached. Fix the issue it names and re-trigger the build.
If you've filled the Beta testers field in Ruby Native, the same Play Console panel in the dashboard has a copy-button list of emails.
Once the first AAB lands on the Internal Testing track:
Testers must accept the opt-in URL once before they can install the app. The URL stays the same across builds, so you only need to share it once.
Google's set up an open, closed, or internal test guide has the full walkthrough.
The preflight and upload steps emit specific error messages. Each maps to a setup step:
| Message | Cause | Fix |
|---|---|---|
| Service account doesn't have publisher access for {package_name} | Publisher invite not done or scoped to wrong app | Repeat invite Ruby Native |
| Your Play Console listing for {package_name} doesn't exist | App not created in Play Console, or package name mismatch | Repeat create your app with the bundle ID configured in Ruby Native |
If you imported an existing AAB or signing key and Play prompts you to accept App Signing, click through once in Play Console, then retry the build.