API для автоматической загрузки apk в Google Play? [закрыто]

95

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

Я поискал, но не смог найти API для этого (только android-publisher, но он не поддерживает публикацию, несмотря на свое название). Кто-нибудь уже решил это, похоже на базовую функцию?

Магнус
источник
3
Я не думаю, что есть, но это интересный вопрос
Стефан
8
Времена меняются - пусть в комментарии отразится, что теперь такой API ЕСТЬ - предыдущие комментарии и ответы теперь устарели - правильный ответ теперь от шарши.
Ричард Ле Мезурье
Для тех, кто пришел сюда через веб-поиск и просто хочет получить ответ, вне зависимости от того, оффтоп или нет: Fastlane - это инструмент, который автоматизирует развертывание Play Store и App Store.
Thomas

Ответы:

63

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

Из документов:

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

Дополнительную информацию можно найти здесь: https://developers.google.com/android-publisher/

Шарши
источник
28
Обратите внимание, что API предназначен только для уже опубликованных приложений (для которых загружен хотя бы один APK).
Léo Lam
Авторизация в Google может быть уловкой. Вот как будет выглядеть получение токена через командную строку. PS Упомянутый там ключ .p12 не будет работать, пока вы не конвертируете его в .pem с помощью команды «openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert»
Виталий
2
взгляните на этот плагин Gradle - github.com/Triple-T/gradle-play-publisher
Sankar V
3
Кто-нибудь знает, действует ли по-прежнему ограничение на обновление только уже существующих приложений?
Рикардо Педрони
1
@Dokuzov да только обновления
шарши 08
22

gradle-play-publisher - это плагин Gradle для загрузки APK-файла и сведений о приложении в Google Play Store.

Я просто запускаю ./gradlew publishApkReleaseсвой терминал, и он загружает APK и сводку последних изменений., Есть и другие подобные задачи.

Он использует API разработчика Google Play

Карло Родригес
источник
Привет, я новичок в Gradle, gradle-play-publisher говорит: «После того, как вы применили этот плагин к своему проекту приложения для Android, вы можете настроить его через блок воспроизведения». Куда мне нужно добавить блок воспроизведения?
Aqib Mumtaz
В вашем build.gradleдосье
Карло Родригес
Не могли бы вы поделиться своим файлом сборки? Я постоянно получаю это исключение "org.gradle.execution.TaskSelectionException: Task 'publishApkRelease' не найден в корневом проекте"
Акиб Мумтаз
Я разместил свой вопрос stackoverflow.com/questions/31449533/…
Акиб Мумтаз
во всяком случае, не очень активный проект
oldgod
20

Официального Google API для автоматизации работы с Google Play нет. (Это НЕ верно после июля 2014 г.)

Вы можете создать сценарий, который инкапсулирует веб-браузер и имитирует поведение пользователя: найдите поля HTML, введите в них информацию, отправьте страницу и т. Д.

Мы работаем над таким инструментом Python с открытым исходным кодом: https://github.com/onepf/AppDF/tree/master/tools/uploader

Василий Филиппов
источник
6
Так было до конца июля 2014 года, когда Google добавил API публикации. Для получения дополнительной информации см. Ответ Шарши.
Лео Лам,
3
Теперь этот ответ неверен.
Ричард Ле Мезурье
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 с использованием указанных вами учетных данных. Удачи и дайте мне знать, если у вас возникнут вопросы, так как это новинка.

Bksaville
источник
пожалуйста, найдите stackoverflow.com/questions/29816342/…gradle androidPublish Создает ли подписанный apk и загружает в playstore
Невин Радж Виктор
Ответил. Этот плагин сделает то, что вы ищете.
bksaville
привет @bksaville - этот плагин поддерживает существующие приложения. Разве мы не можем использовать для вновь созданных приложений.
Sajith Vijesekara
Я обнаружил , что вместо «менеджер выпуска» для ролей при создании учетной записи службы мне нужно вместо этого: в роли DropDown выберите «Учетные записи служб» -> «Служба учетных записей пользователей» и «Service Account Токен Creator»
Maks