/supply

Command line tool for updating Android apps and their metadata on the Google Play Store

Primary LanguageRubyMIT LicenseMIT

deliversnapshotframeitpemsighproducecertspaceshippilotboardinggymscanmatch

-------

supply

Twitter: @KauseFx License Gem Build Status

Command line tool for updating Android apps and their metadata on the Google Play Store

Get in contact with the developer on Twitter: @KrauseFx


FeaturesInstallationSetupQuick StartCommandsUploading an APKImages


supply is part of fastlane: connect all deployment tools into one streamlined workflow.

Features

  • 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

Installation

Install the gem

sudo gem install supply

Setup a 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 Developers Console link in the dialog
  • Click Add credentials and select Service account
  • Select P12 as the Key type and click Create
  • Make a note of the file name of the P12 file downloaded to your computer, and close the dialog
  • Make a note of the Email address under Service accounts - this is the issuer which you will need later
  • Back on the Google Play developer console, click Done to close the dialog
  • Click on Grant Access for the newly added service account
  • In the Invite a New User dialog, paste the service account email address you noted earlier into the Email address field
  • Choose Release Manager from the Role dropdown and click Send Invitation to close the dialog

Quick Start

  • cd [your_project_folder]
  • supply init
  • Make changes to the downloaded metadata, add images, screenshots and/or an APK
  • supply run

Available Commands

  • supply: update an app with metadata, a build, images and screenshots
  • supply init: download metadata for an existing app to a local directory
  • supply --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.

Uploading an APK

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

Images and Screenshots

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.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.

Tips

fastlane Toolchain

  • fastlane: Connect all deployment tools into one streamlined workflow
  • deliver: Upload screenshots, metadata and your app to the App Store
  • snapshot: Automate taking localized screenshots of your iOS app on every device
  • frameit: Quickly put your screenshots into the right device frames
  • pem: Automatically generate and renew your push notification profiles
  • sigh: Because you would rather spend your time building stuff than fighting provisioning
  • produce: Create new iOS apps on iTunes Connect and Dev Portal using the command line
  • cert: Automatically create and maintain iOS code signing certificates
  • codes: Create promo codes for iOS Apps using the command line
  • spaceship: Ruby library to access the Apple Dev Center and iTunes Connect
  • pilot: The best way to manage your TestFlight testers and builds from your terminal
  • boarding: The easiest way to invite your TestFlight beta testers
  • gym: Building your iOS apps has never been easier
  • match: Easily sync your certificates and profiles across your team using git

Need help?

Please submit an issue on GitHub and provide information about your setup

License

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.