deliver • snapshot • frameit • pem • sigh • produce • cert • spaceship • pilot • boarding • gym • scan • match
-------supply
uploads app metadata, screenshots and binaries to Google Play. You can also select tracks for builds and promote builds to production.
Get in contact with the developer on Twitter: @FastlaneTools
Features • Installation • Setup • Quick Start • Commands • Uploading an APK • Images
supply
is part of fastlane: The easiest way to automate beta deployments and releases for your iOS and Android apps.
- Update existing Android applications on Google Play via the command line
- Upload new builds (APKs)
- Retrieve and edit metadata, such as title and description, for multiple languages
- Upload the app icon, promo graphics and screenshots for multiple languages
- Have a local copy of the metadata in your git repository
Install the gem
sudo gem install supply
Setup consists of setting up your Google Developers Service Account
- Open the Google Play Console
- Select Settings tab, followed by the API access tab
- Click the Create Service Account button and follow the Google API Console link in the dialog
- Click the Create Service account button at the top of the developers console screen
- Provide a name for the service account
- Click Select a role and choose Project > Service Account Actor
- Check the Furnish a new private key checkbox
- Select JSON as the Key type
- Click Create to close the dialog
- Make a note of the file name of the JSON file downloaded to your computer
- Back on the Google Play developer console, click Done to close the dialog
- Click on Grant Access for the newly added service account
- Choose Release Manager from the Role dropdown
- Click Add user to close the dialog
In previous versions of supply, credentials to your Play Console were stored as .p12
files. Since version 0.4.0, supply now supports the recommended .json
key Service Account credential files. If you wish to upgrade:
- follow the Setup procedure once again to make sure you create the appropriate JSON file
- update your fastlane configuration or your command line invocation to use the appropriate argument if necessary.
Note that you don't need to take note nor pass the
issuer
argument anymore.
The previous p12 configuration is still currently supported.
cd [your_project_folder]
supply init
- Make changes to the downloaded metadata, add images, screenshots and/or an APK
supply run
supply
: update an app with metadata, a build, images and screenshotssupply init
: download metadata for an existing app to a local directorysupply --help
: show information on available commands, arguments and environment variables
You can either run supply
on its own and use it interactively, or you can pass arguments or specify environment variables for all the options to skip the questions.
To upload a new binary to Google Play, simply run
supply --apk path/to/app.apk
This will also upload app metadata if you previously ran supply init
.
To gradually roll out a new build use
supply --apk path/app.apk --track rollout --rollout 0.5
Expansion files (obbs) found under the same directory as your APK will also be uploaded together with your APK as long as:
- they are identified as type 'main' or 'patch' (by containing 'main' or 'patch' in their file name)
- you have at most one of each type
After running supply init
, you will have a metadata directory. This directory contains one or more locale directories (e.g. en-US, en-GB, etc.), and inside this directory are text files such as title.txt
and short_description.txt
.
Here you can supply images with the following file names (extension can be png, jpg or jpeg):
featureGraphic
icon
promoGraphic
tvBanner
And you can supply screenshots by creating directories with the following names, containing PNGs or JPEGs (image names are irrelevant):
phoneScreenshots/
sevenInchScreenshots/
(7-inch tablets)tenInchScreenshots/
(10-inch tablets)tvScreenshots/
wearScreenshots/
Note that these will replace the current images and screenshots on the play store listing, not add to them.
You can add changelog files under the changelogs/
directory for each locale. The filename should exactly match the version code of the APK that it represents. supply init
will populate changelog files from existing data on Google Play if no metadata/
directory exists when it is run.
└── fastlane
└── metadata
└── android
├── en-US
│ └── changelogs
│ ├── 100000.txt
│ └── 100100.txt
└── fr-FR
└── changelogs
└── 100100.txt
A common Play publishing scenario might involve uploading an APK version to a test track, testing it, and finally promoting that version to production.
This can be done using the --track_promote_to
parameter. The --track_promote_to
parameter works with the --track
parameter to command the Play API to promote existing Play track APK version(s) (those active on the track identified by the --track
param value) to a new track (--track_promote_to
value).
fastlane
Toolchain
fastlane
: The easiest way to automate beta deployments and releases for your iOS and Android appsdeliver
: Upload screenshots, metadata and your app to the App Storesnapshot
: Automate taking localized screenshots of your iOS app on every deviceframeit
: Quickly put your screenshots into the right device framespem
: Automatically generate and renew your push notification profilessigh
: Because you would rather spend your time building stuff than fighting provisioningproduce
: Create new iOS apps on iTunes Connect and Dev Portal using the command linecert
: Automatically create and maintain iOS code signing certificatesspaceship
: Ruby library to access the Apple Dev Center and iTunes Connectpilot
: The best way to manage your TestFlight testers and builds from your terminalboarding
: The easiest way to invite your TestFlight beta testersgym
: Building your iOS apps has never been easiermatch
: Easily sync your certificates and profiles across your team using git
Please submit an issue on GitHub and provide information about your setup
Help us keep supply
open and inclusive. Please read and follow our Code of Conduct.
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.