API do automatycznego przesyłania apk do Google Play? [Zamknięte]

95

Czy istnieje interfejs API lub narzędzie umożliwiające automatyczne przesyłanie pakietu APK do Google Play? Chcę automatycznie publikować spersonalizowane aplikacje na moim koncie bez żadnych ręcznych czynności ani interfejsu graficznego.

Szukałem w okolicy, ale nie mogłem znaleźć żadnego API do tego (tylko wydawca Androida, ale nie obsługuje publikowania, pomimo swojej nazwy). Czy ktoś już to rozwiązał, wydaje się podstawową funkcją?

Magnus
źródło
3
Myślę, że nie ma, ale to jest interesujące pytanie
Stéphane
8
Czasy się zmieniają - niech komentarz będzie odzwierciedlał, że już JEST takie API - poprzednie komentarze i odpowiedzi są już nieaktualne - poprawna odpowiedź pochodzi od sharshi.
Richard Le Mesurier
Dla tych, którzy przyszli tu przez wyszukiwanie w sieci i chcą po prostu odpowiedzi, offtopic lub nie: Fastlane to narzędzie automatyzujące wdrożenia w Play Store i App Store.
Thomas,

Odpowiedzi:

63

Od dzisiaj istnieje nowe oficjalne API do publikowania, które umożliwia przesyłanie plików na dowolny kanał (tj. Alfa, beta ...) lub aktualizowanie tytułu i opisu i nie tylko.

Z dokumentów:

  • Przesyłanie nowych wersji aplikacji Zwalnianie aplikacji przez przypisywanie plików APK do różnych ścieżek (alfa, beta, wdrażanie etapowe lub produkcja)
  • Tworzenie i modyfikowanie ofert w Sklepie Google Play, w tym
  • zlokalizowany tekst i grafika oraz zrzuty ekranu z wielu urządzeń

Poszukaj więcej informacji: https://developers.google.com/android-publisher/

sharshi
źródło
28
Pamiętaj, że interfejs API jest przeznaczony tylko dla już opublikowanych aplikacji (które mają co najmniej jeden przesłany plik APK).
Léo Lam,
Autoryzacja w Google może być sztuczką. Oto jak wyglądałoby uzyskanie tokena za pomocą wiersza poleceń. PS Wspomniany klucz .p12 nie będzie działał, dopóki nie przekonwertujesz go na .pem za pomocą polecenia „openssl pkcs12 -in my_google_key.p12 -out my_google_key.pem -nodes -clcert”
Vitalii
2
spójrz na tę wtyczkę gradle
Sankar V
3
Czy ktoś wie, czy nadal obowiązuje ograniczenie aktualizacji tylko wcześniej istniejących aplikacji?
Ricardo Pedroni
1
@Dokuzov tak, tylko aktualizacje
sharshi
22

gradle-play-publisher to wtyczka Gradle, która przesyła plik APK i szczegóły aplikacji do Sklepu Google Play.

Po prostu uruchamiam ./gradlew publishApkReleasez mojego terminala i przesyła plik APK i podsumowanie ostatnich zmian., Jest więcej dostępnych takich zadań.

Korzysta z interfejsu API Google Play Developer

Carlo Rodríguez
źródło
Cześć, Jestem nowy w Gradle, wydawca gradle-play mówi: „Po zastosowaniu tej wtyczki do projektu aplikacji na Androida możesz ją skonfigurować za pomocą bloku odtwarzania”. Gdzie muszę dodać blok odtwarzania?
Aqib Mumtaz
W twoim build.gradlepliku
Carlo Rodríguez
Czy mógłbyś udostępnić swój plik kompilacji? Ciągle otrzymuję ten wyjątek „org.gradle.execution.TaskSelectionException: Zadanie„ PublishingApkRelease ”nie zostało znalezione w projekcie głównym”
Aqib Mumtaz
Wysłałem
w każdym razie
niezbyt
20

Nie ma oficjalnego interfejsu API Google do automatyzacji pracy z Google Play. (NIE jest to prawdą po lipcu 2014)

Możesz stworzyć skrypt, który hermetyzuje przeglądarkę internetową i symuluje zachowanie użytkownika: znajdź pola HTML, wprowadź tam informacje, przesłanie strony itp.

Pracujemy na takim open-source'owym narzędziu Python: https://github.com/onepf/AppDF/tree/master/tools/uploader

Wasilij Philippov
źródło
6
Tak było do końca lipca 2014 r., Kiedy Google dodał interfejs API do publikowania. Zobacz odpowiedź od sharshi, aby uzyskać więcej informacji.
Léo Lam,
3
Ta odpowiedź jest teraz błędna.
Richard Le Mesurier
4

Odpowiedziałem na to również na to pytanie , ale pomyślałem, że dodam tutaj ten sam komentarz. Daj mi znać, jeśli to niewłaściwy sposób (powielanie odpowiedzi).

Udało mi się stworzyć wtyczkę gradle, która publikuje dowolne utwory w dowolnym smaku / wariancie, korzystając z nowych interfejsów API Google Play Publishing.

Zobacz źródła tutaj: https://github.com/bluesliverx/savillians-gradle

Pracuję nad opublikowaniem tego w Maven Central, aby można go było użyć w skrypcie kompilacji, ale na razie możesz pobrać android-publisherpodkatalog w repozytorium, umieścić go w katalogu głównym kompilacji gradle i zmienić nazwę folderu na buildSrc. Użyj następującego wiersza w build.gradlepliku projektu systemu Android, który chcesz opublikować:

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

Następnie możesz ustawić ustawienia publikowania za pomocą androidPublisherbloku w pliku 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
}

Upewnij się, że utworzone konto usługi ma uprawnienia „menedżera wersji”, pobierz plik klucza p12 i umieść go w katalogu projektu. Następnie uruchom to polecenie:

gradle androidPublish

Spowoduje to wysłanie go do Google Play przy użyciu określonych poświadczeń. Powodzenia i daj mi znać, jeśli masz pytania, ponieważ jest to zupełnie nowe.

bksaville
źródło
proszę znaleźć stackoverflow.com/questions/29816342/… Czy gradle androidPublishgeneruje podpisany apk i przesyła go do playstore
Nevin Raj Victor
Odpowiedział. Ta wtyczka zrobi to, czego szukasz.
bksaville
cześć @bksaville czy ta wtyczka obsługuje istniejące aplikacje. Nie możemy użyć do nowo utworzonych aplikacji.
Sajith Vijesekara
Okazało się, że zamiast „menedżera wersji” dla ról podczas tworzenia konta usługi potrzebowałem zamiast tego: w menu Rola wybierz „Konta usług” -> „Użytkownik konta usługi” i „Twórca tokena konta usługi”
Maks