Quantcast
Channel: Planeta Código
Viewing all articles
Browse latest Browse all 2713

Adrianistán: Subir APK a Google Play automáticamente

$
0
0

Hoy vamos a ver como subir un APK a Google Play directamente, usando la línea de comandos, sin pasar por el navegador. Perfecto para automatizar la publicación de actualizaciones.

desarrollador-android-680x394

 

Google Play, como muchos otros servicios de Google, dispone de una API. Gracias a ella podemos interactuar con los servicios de Google directamente desde nuestro código. Para ello necesitaremos un Client ID, un Client Secret y un refresh_token. En mi entrada sobre como crear credenciales OAuth2 para Google sabras como hacerlo. Busca la API de Google Play Android Developer API y actívala. Anota el client ID, el client secret y el refresh_token. Además es necesario que entres a la consola de desarrollo de Google Play y autorices tus credenciales en Configuración -> Acceso a API

screenshot-play google com 2016-07-26 17-23-56

Ahora podemos pasar a escribir nuestro script de subida de APK. Para ello usaremos Node.js y el fantástico paquete googleapis, que se encuentra en npm.

Iniciar sesión en googleapis

Primero instala el paquete con npm.

npm install googleapis

Teniendo a mano el client ID, el client secret y el refresh_token podemos iniciar sesión.

var CLIENT_ID="";
var CLIENT_SECRET="";
var REFRESH_TOKEN="";

var fs = require("fs");
var google = require("googleapis");
var androidpublisher = google.androidpublisher("v2"); // Esta es la API que vamos a usar, AndroidPublisher v2
var OAuth2 = google.auth.OAuth2;

var auth = new OAuth2(CLIENT_ID,CLIENT_SECRET,"");
auth.setCredentials({
	refresh_token: REFRESH_TOKEN
});

auth.refreshAccessToken(function(err,tokens){
	google.options({auth: auth});
	// Ya estamos dentro
});

Crear y publicar una edición

¿Cuál es el procedimiento para subir un APK a Google Play usando la API?

  1. Crear una nueva edición
  2. Subir un APK a esa edición
  3. Asignar el APK a algún canal de distribución
  4. Guardar y publicar los cambios de la edición

Cuando creemos una edición se nos dará un ID de edición. Lo usaremos en el resto de llamadas. También cuando subamos un APK nos darán un versionCode que usaremos para asignar a uno de los canales de distribución. Google Play dispone de 4 canales de distribución:

  • alpha: Solo para los usuarios que hayas autorizado explícitamente
  • beta: Solo para los usuarios que hayas autorizado explícitamente
  • production: La versión que tienen todos los usuarios que no están registrados en alpha y beta.
  • rollout: Similar a production. Se indica un procentaje y Google se encargará de que solo el porcentaje de usuarios indicado tengan la actualización. Es ideal para probar nuevas características sin involucrar a todos tus usuarios.

Finalmente el código final del script queda así.

var CLIENT_ID="";
var CLIENT_SECRET="";
var REFRESH_TOKEN="";

var fs = require("fs");
var google = require("googleapis");
var androidpublisher = google.androidpublisher("v2");
var OAuth2 = google.auth.OAuth2;

var auth = new OAuth2(CLIENT_ID,CLIENT_SECRET,"");
auth.setCredentials({
	refresh_token: REFRESH_TOKEN
});

auth.refreshAccessToken(function(err,tokens){
	google.options({auth: auth});
	androidpublisher.edits.insert({
		packageName: "ga.yayeyo.cronoquiz.historia"
	},function(err,edit){
		console.dir(err);
		androidpublisher.edits.apks.upload({
			packageName: "ga.yayeyo.cronoquiz.historia",
			editId: edit.id,
			uploadType: "media",
			media: {
				mediaType: "application/vnd.android.package-archive",
				body: fs.createReadStream("platforms/android/build/outputs/apk/android-release.apk")
			}
		},function(err,req){
			console.dir(err);
			var versionCode = req.versionCode;
			androidpublisher.edits.tracks.update({
				packageName: "ga.yayeyo.cronoquiz.historia",
				editId: edit.id,
				track: "production",
				resource: {
					versionCodes: [versionCode]
				}
			},function(err,req){
				console.dir(err);
				androidpublisher.edits.commit({
					packageName: "ga.yayeyo.cronoquiz.historia",
					editId: edit.id
				},function(err,req){
					console.dir(err);
				});
			});
		});
	});
});

La entrada Subir APK a Google Play automáticamente aparece primero en Blog - Adrianistan.eu.


Viewing all articles
Browse latest Browse all 2713

Trending Articles


FORECLOSURE OF REAL ESTATE MORTGAGE


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


INUMAN QUOTES


Sapos para colorear


Patama Quotes : Tagalog Inspirational Quotes


5 Tagalog Relationship Rules


Re:Mutton Pies (lleechef)