/apkup

🚀 Publish APKs to Google Play directly from the terminal

Primary LanguageJavaScriptOtherNOASSERTION

apkup

npm Build Status GitHub license JavaScript Style Guide

🚀 Upload APKs to Google Play

This package offers a streamlined way to publish packages in the Google Play Store.

A fork of playup.

Install

npm install -g apkup

Usage

Use the CLI

apkup \
  --auth api.json \
  --recent-changes "en-US='lorem ipsum dolor'" \
  --file /path/to/Package.apk \
  --obbs /path/to/Expansion.obb \  # optional
  --obbs /path/to/Expansion2.obb   # optional

or the JavaScript API

const { Apkup } = require("apkup");

const apkup = Apkup({
  client_email: "",
  private_key: ""
});

apkup
  .upload("/path/to/apk", {
    obbs: [
      // optional expansion files (max 2)
      "/path/to/somefile.obb"
    ],
    recentChanges: {
      "en-US": "lorem ipsum dolor"
    }
  })
  .then(data => {
    console.log(` > ${data.packageName} version ${data.versionCode} is up!`);
  });

Authentication

First you have to create a Google Play API Access. To do that go to the Google Play Developer Console and then with the account owner go to Settings -> API access and create a Google Play Android Developer project.

After that follow the instructions to create a Service Account. When you click Create Client ID, choose Service Account. You will get a JSON file with a public key and the service email.

The created Service Account needs the following role:

  • Release manager

Gulp Support

The upload method returns a Promise so this package can be used in conjunction with gulp with no extra plugins needed

gulp.task(upload, () => {
  return publisher.upload(apk, params);
});

CLI

apkup --auth auth.json --recent-changes "recent changes" --file app.apk --obbs [OBB]

auth

Required Type: File

a JSON file with the Authentication information

recent-changes

Required Type: string

A string with the format lang=changes where lang is the language code and changes the string that specifies the changes of this

track

Type: string

Specify track for this release. Can be alpha, beta, production or rollout. Default: alpha

APK

The path to the APK

OBB

The path to 1 or more expansion files

API

See the API docs.