API untuk mengunggah apk secara otomatis ke Google Play? [Tutup]

95

Apakah ada API atau alat yang memungkinkan saya mengunggah APK ke Google Play secara otomatis? Saya ingin secara otomatis menerbitkan aplikasi yang disesuaikan ke akun saya tanpa langkah manual atau antarmuka grafis.

Saya mencari-cari tetapi tidak dapat menemukan API untuk melakukan ini (hanya android-publisher tetapi tidak mendukung penerbitan, meskipun namanya). Apakah ada yang sudah menyelesaikan ini, sepertinya fitur dasar?

Magnus
sumber
3
Saya rasa tidak ada, tapi ini pertanyaan yang menarik
Stéphane
8
Waktu berubah - biarkan komentar mencerminkan bahwa sekarang ada API seperti itu - komentar dan jawaban sebelumnya sekarang sudah ketinggalan zaman - jawaban yang benar sekarang dari sharshi.
Richard Le Mesurier
Bagi mereka yang datang ke sini melalui pencarian web dan hanya menginginkan jawaban, offtopic atau tidak: Fastlane adalah alat yang mengotomatiskan Play Store dan penerapan App Store.
Thomas

Jawaban:

63

Saat ini ada API penerbitan resmi baru yang memungkinkan Anda mengunggah ke saluran mana pun (mis. Alfa, beta ...) atau memperbarui judul dan deskripsi dan banyak lagi.

Dari dokumen:

  • Mengupload versi baru aplikasi Merilis aplikasi, dengan menetapkan APK ke berbagai Track (alfa, beta, peluncuran bertahap, atau produksi)
  • Membuat dan memodifikasi daftar Google Play Store, termasuk
  • teks dan grafik yang dilokalkan dan tangkapan layar multi-perangkat

Lihat di sini untuk info lebih lanjut: https://developers.google.com/android-publisher/

sharshi
sumber
28
Perhatikan bahwa API hanya untuk aplikasi yang sudah dipublikasikan (yang memiliki setidaknya satu APK yang diupload).
Léo Lam
Otorisasi dengan Google mungkin tipuan. Berikut tampilan mendapatkan token melalui baris perintah. PS Penyebutan kunci .p12 di sana tidak akan berfungsi sampai Anda mengubahnya menjadi .pem dengan perintah "openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert"
Vitalii
2
lihat dengan plugin gradle ini - github.com/Triple-T/gradle-play-publisher
Sankar V
3
Adakah yang tahu jika pembatasan pembaruan hanya aplikasi yang sudah ada sebelumnya masih berlaku?
Ricardo Pedroni
1
@Dokuzov ya hanya pembaruan
sharshi
22

gradle-play-publisher adalah plugin Gradle untuk mengunggah APK dan detail aplikasi Anda ke Google Play Store.

Saya hanya menjalankan ./gradlew publishApkReleasedari terminal saya dan mengupload APK dan ringkasan perubahan terbaru., Ada lebih banyak tugas seperti ini yang tersedia.

Ini menggunakan API Pengembang Google Play

Carlo Rodríguez
sumber
Hai, Saya baru mengenal Gradle, gradle-play-publisher berkata "Setelah Anda menerapkan plugin ini ke proyek aplikasi android Anda, Anda dapat mengkonfigurasinya melalui play block", Di mana saya perlu menambahkan play block?
Aqib Mumtaz
Dalam build.gradlefile Anda
Carlo Rodríguez
Bisakah Anda membagikan file build Anda? Saya terus-menerus mendapatkan pengecualian ini "org.gradle.execution.TaskSelectionException: Task 'publishApkRelease' tidak ditemukan dalam proyek root"
Aqib Mumtaz
Saya telah memposting pertanyaan saya stackoverflow.com/questions/31449533/…
Aqib Mumtaz
tidak benar-benar proyek aktif
oldergod
20

Tidak ada API Google resmi untuk bekerja secara otomatis dengan Google Play. (Ini TIDAK benar setelah Juli 2014)

Anda dapat membuat skrip yang merangkum browser web dan mensimulasikan arah pengguna: temukan bidang HTML, masukkan info di sana, mengirimkan halaman, dll.

Kami sedang mengerjakan alat Python open-source seperti itu: https://github.com/onepf/AppDF/tree/master/tools/uploader

Vassili Philippov
sumber
6
Ini benar sampai akhir Juli 2014, ketika Google menambahkan API penerbitan. Lihat jawaban dari sharshi untuk info lebih lanjut.
Léo Lam
3
Jawaban ini sekarang salah.
Richard Le Mesurier
4

Saya menjawab ini juga untuk pertanyaan ini , tetapi saya pikir saya akan menambahkan komentar yang sama di sini. Beri tahu saya jika itu cara yang salah untuk melakukan ini (menggandakan jawaban).

Saya dapat membuat plugin gradle yang melakukan publikasi ke trek apa pun yang Anda inginkan untuk rasa / varian apa pun yang Anda inginkan menggunakan API Google Play Publishing baru.

Lihat sumbernya di sini: https://github.com/bluesliverx/savillians-gradle

Saya sedang memublikasikan ini ke maven central sehingga dapat digunakan dalam skrip build, tetapi untuk saat ini Anda dapat mengambil android-publishersubdirektori di repo, meletakkannya di root build gradle Anda, dan mengganti nama folder menjadi buildSrc. Gunakan baris berikut dalam build.gradlefile untuk proyek android yang ingin Anda publikasikan:

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

Anda kemudian dapat mengatur pengaturan penerbitan Anda menggunakan androidPublisherblok di file 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
}

Pastikan akun layanan yang Anda buat memiliki izin "pengelola rilis", unduh file kunci p12 dan letakkan di direktori proyek. Kemudian jalankan perintah ini:

gradle androidPublish

Itu akan mengirimkannya ke Google Play menggunakan kredensial yang Anda tentukan. Semoga berhasil dan beri tahu saya jika Anda memiliki pertanyaan karena ini baru.

bksaville.dll
sumber
silakan temukan stackoverflow.com/questions/29816342/… Apakah gradle androidPublishmenghasilkan apk bertanda tangan dan mengunggah ke playstore
Nevin Raj Victor
Dijawab. Plugin ini akan melakukan apa yang Anda cari.
bksaville
hai @bksaville adalah dukungan plugin ini untuk aplikasi yang sudah ada. Tidak dapat kami gunakan untuk aplikasi yang baru dibuat.
Sajith Vijesekara
Saya menemukan bahwa alih-alih "pengelola rilis" untuk Peran saat membuat akun layanan, saya perlu melakukannya: di menu tarik-turun Peran pilih "Akun Layanan" -> "Pengguna Akun Layanan" dan "Pembuat Token Akun Layanan"
Maks