GithubHelp home page GithubHelp logo

googlepub's Introduction

googlepub

The gem to automate everything for GooglePlay Developer Console with a Single Command i.e. googlepub

Store Listing, APK, In-App Purchases, this does it all. This gem uses the Google Publishing API. Have issues/problems/Feature requests/advices Please add them as Issues. I'll get back to you ASAP.

Set up Googlepub

In your terminal: [sudo] gem install googlepub

For updates: [sudo] gem update googlepub

This gem is OS independent.

Google Play Access

To enable googlepub to access Google Play you have to follow these steps:

  • Open the Google Play Console
  • Open Settings => API-Access
  • Create a new Service Account - follow the link of the dialog
  • Create new Client ID
  • Select Service Account
  • Click Generate new P12 key and store the downloaded file
  • The Email address underneath Service account is the email address you have to enter as the Issuer
  • Back on the Google Play developer console, click on Grant Access for the newly added service account
  • Choose Release Manager from the dropdown and confirm

Issuer

Copy the email address which looks like [email protected] and

  • paste it in a file named "issfile" in the working Directory (Without any quotes around the String) or
  • pass it as the -i or --iss option with the command as "[ISS]" or
  • paste it when asked for as "[ISS]" or
  • set as ENV['ISS']

Keyfile

Store your p12 file in a secure place, for ease open it in any editor and copy the key and

  • store in a file named "keyfile" in the working Directory (Without any quotes around the String) or
  • pass as -k or --key option with the command as "[key]" or
  • paste it when asked for "[key]" or
  • set as ENV['KEY']

Package

The SKU of you App eg. "com.keshav.goel".

  • Pass is as -p or --package option with the command or
  • when asked for while execution or
  • set as ENV['PACKAGE']

##Main commands

  • apk
  • metadata
  • inapps

Options

With sub command metadata:
-l, --language [LANGUAGE]        The ISO language code (default: "en-US")
-k, --key [KEY]                  Key for the Account from Google Developer Console (ENV['KEY'])
-i, --iss [ISSUER]               ISS for the Account from Google Developer Console (ENV['ISS'])
-p, --package [PACKAGE]          Package to update on the Google Developer Console (ENV['PACKAGE'])
    --store                      Specify that Store Listing details are to be Updated.
-t, --title [TITLE]              Name for your App/In-App
-f, --full  [FULLDESCRIPTION]    Full Description for your App/Description for your In-App
-s, --short [SHORTDESCRIPTION]   Short Description for your App
-v, --video [VIDEO]              Youtube Video URL
    --details                    Specify that the details are to be updated (Website, Email and Phone)
-w, --website [WEBSITE]          Website for Contact
-e, --email [EMAIL]              Email for Contact
    --phone [PHONE]              Phone for Contact
    --screenshots                Specify that Screenshots are to be updated for Contact
    --featureGraphic [PATH]      featureGraphic for your App eg: "path/to/file"
    --icon [PATH]                icon for your App eg: "path/to/file"
    --phoneScreenshots [PATH]    phoneScreenshots for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --promoGraphic [PATH]        promoGraphic for your App eg: "path/to/file"
    --sevenInch [PATH]           sevenInchScreenshots for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --tenInch [PATH]             tenInchScreenshots for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --tvBanner [PATH]            tvBanner for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --tv [PATH]                  tvScreenshots for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --wear [PATH]                wearScreenshots for your App (comma separated) eg: "path/to/file1,path/to/file1,.."
    --version                    Display googlepub version
-h, --help                       Display this help message
With sub command apk:
    --file [FILE]                APK file to upload eg: "path/to/file"
    --track [TRACK]              Track to which APK file is to be uploaded eg: "beta"
    --apkversion [Version]       Code Version of your APK you want to deploy
    -h, --help                   Display this help message
With sub command inapps:
    --sku [SKU]                  The SKU of the In-App you wish to edit
-t, --title [TITLE]              Name for your App/In-App
-f, --full  [FULLDESCRIPTION]    Full Description for your App/Description for your In-App
    --price [PRICE]              Price for the In-App in Decimal(eg: 5.99), Will convert to Millionth by self
    --curr [CURR]                3 letter Currency code, as defined by ISO 4217 for your SKU (USD by default)
    --status [STATUS]            Status for your In-App, "active" or "inactive"
    -h, --help                   Display this help message
    (Note: New In-App support Coming Soon!)

Note: When using inapps sub-command, access_token file created is not deleted(unlike apk and metadata). The access_token saved in the file is reused for multiple In-App activity(Untill its Expiry or another Edit for APK or Metadata).

Example:

googlepub metadata -l "en-US" -p "com.keshav.goel" --store -t "Title" -s "Short Description" -f "fullDescription" --icon "icon.png"

googlepub apk -p "com.keshav.goel" --file "file.apk" --track "beta"

googlepub inapps -p "com.keshav.goel" --sku "com.keshav.inapp.12" --title "InApp 12" --fullDescription "Description" --price 1990000

For any issues/problems please add an Issue to the repo.

googlepub's People

Contributors

thekeshavgoel avatar

Watchers

James Cloos avatar

googlepub's Issues

p12 key not longer working

Unfortunately I was not able to upload an apk in any way. I tried it by using:

googlepub apk -k Google\ Play\ Android\ Developer-a8843589eb42.p12 -p ch.papers.webup --file android-release.apk --track "alpha"

But what I go was the following error:
lib/googlepub/auth.rb:64:in `read': Could not parse PKey: no start line (ArgumentError)

From my understanding, every p12 file from the developer console uses the passphrase 'notasecret' (https://cloud.google.com/storage/docs/authentication), but I wasn't able to find this anywhere in your code. Also there is no option to pass a passphrase. Therefore I tried to remove the passphares from the certificate (http://serverfault.com/questions/515833/how-to-remove-private-key-password-from-pkcs12-container), but I didn't get it working.

Can you point me in the right direction?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.