API для автоматичного завантаження apk в Google Play? [зачинено]


95

Чи існує якийсь API або інструмент, який дозволяє мені автоматично завантажувати APK в Google Play? Я хочу автоматично публікувати спеціальні програми у своєму обліковому записі без будь-яких кроків вручну або графічного інтерфейсу.

Я шукав навколо, але не міг знайти жодного API для цього (лише android-видавець, але він не підтримує публікацію, незважаючи на свою назву). Хтось це вже вирішував, здається базовою особливістю?


3
Я не думаю, що їх є, але це цікаве питання
Стефан

8
Часи змінюються - нехай коментар відображатиме, що зараз існує такий API - попередні коментарі та відповіді тепер застаріли - правильна відповідь тепер від sharshi.
Richard Le Mesurier

Також дивіться: stackoverflow.com/a/52374171/1531054
SD

Для тих, хто прийшов сюди через веб-пошук і просто хоче отримати відповідь, поза темою чи ні: Fastlane - це інструмент, який автоматизує розгортання Play Store та App Store.
Томас

Відповіді:


63

На сьогоднішній день існує новий офіційний API публікації, який дозволяє завантажувати на будь-який канал (тобто альфа, бета ...) або оновлювати назву та опис тощо.

З документів:

  • Завантаження нових версій програми Випуск додатків шляхом призначення APK-файлів для різних композицій (альфа-версія, бета-версія, поетапне впровадження або виробництво)
  • Створення та зміна списків магазину Google Play, у тому числі
  • локалізований текст та графіка та знімки екрана для декількох пристроїв

Подивіться тут для отримання додаткової інформації: https://developers.google.com/android-publisher/


28
Зверніть увагу, що API призначений лише для вже опублікованих програм (у яких завантажено принаймні один файл .apk).
Лео Лам,

Авторизація в Google може бути хитрістю. Ось як виглядатиме отримання маркера через командний рядок. PS Згадка клавіші .p12 там не буде працювати, поки ви не перетворите її в .pem за допомогою команди "openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert"
Віталій

2
подивіться на цей плагін gradle
V

3
Хтось знає, чи застосовується обмеження оновлення лише раніше існуючих програм?
Рікардо Педроні,

1
@Dokuzov так, лише оновлення
sharshi

22

gradle-play-publisher - це плагін Gradle для завантаження файлів APK та додатків до магазину Google Play.

Я просто запускаю ./gradlew publishApkReleaseз мого терміналу, і він завантажує APK та резюме останніх змін., Є більше таких завдань, як це.

Він використовує API розробника Google Play


Привіт, я новачок у Gradle, видавець gradle-play каже: "Після того, як ви застосуєте цей плагін до свого проекту програми Android, ви зможете налаштувати його за допомогою блоку відтворення", Де мені потрібно додати блок відтворення?
Aqib Mumtaz

У вашому build.gradleфайлі
Карло Родрігес

Не могли б ви поділитися своїм файлом збірки? Я постійно отримую цей виняток "org.gradle.execution.TaskSelectionException: Завдання'pubApkRelease 'не знайдено в кореневому проекті"
Aqib Mumtaz

Я відправив своє питання stackoverflow.com/questions/31449533 / ...
Aqib Мумтаз

і так не дуже активний проект
старшийгод

20

Не існує офіційного Google API для автоматизації роботи з Google Play. (Це НЕ відповідає дійсності після липня 2014 року)

Ви можете створити скрипт, який інкапсулює веб-браузер та імітує новостворене користувача: знайдіть поля HTML, введіть туди інформацію, подавши сторінку тощо.

Ми працюємо над таким інструментом Python з відкритим кодом: https://github.com/onepf/AppDF/tree/master/tools/uploader


6
Це було правдою до кінця липня 2014 року, коли Google додав публікаційний API. Дивіться відповідь від sharshi для отримання додаткової інформації.
Лео Лам,

3
Ця відповідь тепер неправильна.
Richard Le Mesurier

4

Я також відповів на це питання , але вирішив, що додам тут той самий коментар. Повідомте мене, якщо це неправильний спосіб зробити це (дублювання відповідей).

Я зміг створити плагін gradle, який публікує будь-яку композицію, яку ви бажаєте, для будь-якого смаку / варіанту, який ви хочете, використовуючи нові API публікації Google Play.

Джерела дивіться тут: https://github.com/bluesliverx/savillians-gradle

Я працюю над публікацією цього у maven central, щоб його можна було використовувати у сценарії збірки, але наразі ви можете взяти android-publisherпідкаталог у репозиторії, помістити його у корінь вашої збірки gradle та перейменувати папку у buildSrc. Використовуйте такий рядок у build.gradleфайлі для проекту Android, який ви хочете опублікувати:

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

Потім ви можете встановити свої параметри публікації, використовуючи androidPublisherблок у файлі 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
}

Переконайтеся, що створений вами обліковий запис служби має дозволи "менеджера випусків", завантажте файл ключа p12 і помістіть його в каталог проекту. Потім запустіть цю команду:

gradle androidPublish

Це надішле його в Google Play за допомогою вказаних вами облікових даних. Удачі та повідомте мені, якщо у вас є запитання, оскільки це абсолютно нове.


будь ласка, знайдіть stackoverflow.com/questions/29816342/... Чи gradle androidPublishгенерує підписаний apk та завантажує у playstore
Nevin Raj Victor

Відповіли. Цей плагін буде робити те, що ви шукаєте.
bksaville

привіт @bksaville - це підтримка цього плагіна для існуючих програм. Чи не можемо ми використовувати для нещодавно створених програм.
Sajith Vijesekara

Я виявив, що замість "менеджера випусків" для Ролей при створенні службового облікового запису мені потрібно було замість цього: у спадному меню "Ролі" вибрати "Облікові записи служб" -> "Користувач облікового запису служби" та "Створювач маркера службового рахунку"
Макс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.