API para cargar automáticamente apk a Google Play? [cerrado]

95

¿Existe alguna API o herramienta que me permita cargar automáticamente un APK en Google Play? Quiero publicar automáticamente aplicaciones personalizadas en mi cuenta sin ningún paso manual o interfaz gráfica.

Busqué pero no pude encontrar ninguna API para hacer esto (solo editor de Android pero no admite la publicación, a pesar de su nombre). ¿Alguien resolvió esto ya, parece una característica básica?

Magnus
fuente
3
No creo que haya ninguno, pero esta es una pregunta interesante
Stéphane
8
Los tiempos cambian: deje que el comentario refleje que ahora hay una API de este tipo; los comentarios y las respuestas anteriores ahora están desactualizados; la respuesta correcta ahora es de sharshi.
Richard Le Mesurier
Para aquellos que vinieron aquí a través de una búsqueda web y solo quieren una respuesta, fuera de tema o no: Fastlane es una herramienta que automatiza las implementaciones de Play Store y App Store.
Thomas

Respuestas:

63

A partir de hoy hay una nueva API de publicación oficial que le permite subir a cualquier canal (es decir, alfa, beta ...) o actualizar el título y la descripción y más.

De los documentos:

  • Carga de nuevas versiones de una aplicación Lanzamiento de aplicaciones mediante la asignación de APK a varias pistas (alfa, beta, lanzamiento por etapas o producción)
  • Crear y modificar listados de Google Play Store, incluido
  • texto y gráficos localizados y capturas de pantalla de varios dispositivos

Busque aquí para obtener más información: https://developers.google.com/android-publisher/

Sharshi
fuente
28
Tenga en cuenta que la API es solo para aplicaciones ya publicadas (que tienen al menos un APK cargado).
Léo Lam
La autorización con Google podría ser un truco. Así es como se vería obtener un token a través de la línea de comando. PD: La clave .p12 menciona que no funcionará hasta que la convierta yo .pem con el comando "openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert"
Vitalii
2
eche un vistazo con este complemento de gradle
Sankar V
3
¿Alguien sabe si todavía se aplica la restricción de actualizar solo las aplicaciones preexistentes?
Ricardo Pedroni
1
@Dokuzov sí solo actualizaciones
sharshi
22

gradle-play-publisher es un complemento de Gradle para cargar su APK y los detalles de la aplicación en Google Play Store.

Simplemente ejecuto ./gradlew publishApkReleasedesde mi terminal y sube el APK y el resumen de cambios recientes. Hay más tareas como esta disponibles.

Utiliza la API para desarrolladores de Google Play.

Carlo Rodríguez
fuente
Hola, soy nuevo en Gradle, gradle-play-publisher dice: "Una vez que haya aplicado este complemento a su proyecto de aplicación de Android, puede configurarlo a través del bloque de reproducción". ¿Dónde necesito agregar el bloque de reproducción?
Aqib Mumtaz
En su build.gradleexpediente
Carlo Rodríguez
¿Podría compartir su archivo de compilación? Constantemente recibo esta excepción "org.gradle.execution.TaskSelectionException: la tarea 'publishApkRelease' no se encuentra en el proyecto raíz"
Aqib Mumtaz
He publicado mi pregunta stackoverflow.com/questions/31449533/…
Aqib Mumtaz
no es un proyecto realmente activo de todos modos
dios mayor
20

No existe una API oficial de Google para automatizar el trabajo con Google Play. (Esto NO es cierto después de julio de 2014)

Puede crear un script que encapsule un navegador web y simule el comportamiento del usuario: busque campos HTML, ingrese información allí, envíe la página, etc.

Estamos trabajando en dicha herramienta Python de código abierto: https://github.com/onepf/AppDF/tree/master/tools/uploader

Vassili Philippov
fuente
6
Esto fue así hasta finales de julio de 2014, cuando Google agregó una API de publicación. Consulte la respuesta de sharshi para obtener más información.
Léo Lam
3
Esta respuesta ahora es incorrecta.
Richard Le Mesurier
4

Respondí esto también en esta pregunta , pero pensé que agregaría el mismo comentario aquí. Avísame si esa es la forma incorrecta de hacer esto (duplicar respuestas).

Pude crear un complemento de Gradle que realiza la publicación en cualquier pista que desee para cualquier sabor / variante que desee utilizando las nuevas API de publicación de Google Play.

Vea las fuentes aquí: https://github.com/bluesliverx/savillians-gradle

Estoy trabajando para publicar esto en maven central para que se pueda usar en un script de compilación, pero por ahora puede tomar el android-publishersubdirectorio en el repositorio, ponerlo en la raíz de su compilación de Gradle y cambiar el nombre de la carpeta a buildSrc. Use la siguiente línea en el build.gradlearchivo para el proyecto de Android que desea publicar:

apply plugin: com.savillians.gradle.androidpublisher.AndroidPublisherPlugin

Luego puede establecer su configuración de publicación usando un androidPublisherbloque en el archivo build.gradle.

android {
    ...
}
androidPublisher {
    applicationName = "Company-Name-Product-Name/1.0"
    packageName = "<package name>"
    serviceAccountEmail = "<service account email>"
    serviceAccountKeyFile = file('<p12 keyfile - NOT the json file>')
    track = "alpha" // default, don't need to specify
    variantName = "release" // default, don't need to specify
}

Asegúrese de que la cuenta de servicio que cree tenga permisos de "administrador de versiones", descargue el archivo de clave p12 y colóquelo en el directorio del proyecto. Luego ejecute este comando:

gradle androidPublish

Eso lo enviará a Google Play con las credenciales que especificó. Buena suerte y avíseme si tiene preguntas, ya que esto es nuevo.

bksaville
fuente
por favor, encontrar stackoverflow.com/questions/29816342/... ¿El gradle androidPublishgenerar el apk firmado y carga a playstore
Nevin Raj Victor
Contestado. Este complemento hará lo que busca.
bksaville
hola @bksaville es este complemento compatible con aplicaciones existentes. ¿No podemos usarlo para aplicaciones recién creadas?
Sajith Vijesekara
Descubrí que en lugar de "administrador de versiones" para los roles al crear la cuenta de servicio que necesitaba: en el menú desplegable de roles, elija "Cuentas de servicio" -> "Usuario de cuenta de servicio" y "Creador de tokens de cuenta de servicio"
Maks