Interfejs API Konsoli programisty Androida to publiczny interfejs, który umożliwia dystrybutorom aplikacji i indywidualnym deweloperom automatyczne rejestrowanie nazw pakietów w Konsoli programisty Androida.
Możliwości serwer-serwer jako:
| Rozpowszechnianie aplikacji | Indywidualny deweloper |
|---|---|
| Zarejestruj nazwę pakietu – klucz w imieniu dewelopera, który publikuje aplikację w sklepie. Zarejestruj nazwę pakietu z kluczem zarządzanym przez sklep. potwierdzić własność klucza powiązanego z nazwą pakietu. | Zarejestruj nazwę pakietu – klucz w przepływach pracy ciągłego wdrażania. potwierdzić własność klucza powiązanego z nazwą pakietu. |
Zanim zaczniesz
Zanim zaczniesz, musisz mieć:
- Dostęp administracyjny do projektu Google Cloud.
- Podstawowa znajomość:
Powinny być Ci też znane te pojęcia:
| Okres obowiązywania | Definicja |
|---|---|
| Konto dewelopera | Reprezentuje konto w Konsoli programisty Androida, które może być właścicielem co najmniej 1 nazwy pakietu. Zawiera stan weryfikacji (NOT_VERIFIED lub VERIFIED). |
| Nazwa pakietu | Konkretna nazwa pakietu na Androida (np. com.example.app) na koncie dewelopera, która może być powiązana z co najmniej 1 kluczem. Zawiera stan rejestracji (DRAFT, IN_REVIEW, REGISTERED lub PENDING_TRANSFER). |
| Klucz | Konkretny certyfikat publiczny lub klucz używany do podpisywania nazwy pakietu na Androida. Zawiera identyfikator SHA-256 i bieżący stan rejestracji (DRAFT, OWNERSHIP_VERIFIED, IN_REVIEW, REGISTERED lub PENDING_TRANSFER). |
Rozpocznij
Aby uzyskać dostęp do interfejsu API Konsoli programisty Androida, wykonaj te czynności:
Tworzenie projektu Google Cloud
- Utwórz konto Google Cloud, jeśli jeszcze go nie masz.
- Otwórz konsolę Google Cloud.
- Utwórz projekt Google Cloud.
Włączanie interfejsu API w projekcie Google Cloud
- Otwórz konsolę Google Cloud.
- W menu nawigacyjnym (☰) wybierz Interfejsy API i usługi > Biblioteka.
- W menu projektów wybierz projekt Google Cloud, w którym chcesz włączyć interfejs API.
- Użyj paska wyszukiwania Interfejsy API i usługi, aby wybrać Konsola programisty Androida API.
- Włącz interfejs API:
- Przejdź na stronę przeglądu interfejsu API, wybierając go w wynikach wyszukiwania.
- Kliknij niebieski przycisk Włącz. Google Cloud aktywuje interfejs API w wybranym projekcie, co zwykle zajmuje tylko chwilę. Po włączeniu tej funkcji możesz zacząć z niej korzystać.
Uwierzytelnianie interfejsu API
Aby wywoływać interfejs API Konsoli programisty Androida, musisz uwierzytelniać żądania za pomocą protokołu OAuth 2.0.
Uwierzytelnianie za pomocą protokołu OAuth 2.0
Interfejs API Konsoli programisty Androida wymaga uwierzytelniania OAuth 2.0, aby autoryzować dostęp do zasobów konta dewelopera i nazw pakietów. Dane konta dewelopera są powiązane z kontem Google użytkownika, a nie z projektem Google Cloud, dlatego do uwierzytelniania żądań do interfejsu API nie można używać kont usługi, federacji tożsamości zadań ani kluczy interfejsu API.
Zakres protokołu OAuth 2.0
W przypadku wszystkich operacji wymagany jest ten zakres:
| Zakres protokołu OAuth 2.0 | Opis |
|---|---|
https://www.googleapis.com/auth/androiddeveloperconsole |
Wyświetlanie nazw pakietów i danych na kontach w Konsoli programisty Androida oraz zarządzanie nimi |
Implementowanie przepływu serwera WWW OAuth 2.0
Aby zintegrować się z interfejsem API Konsoli programisty Androida, aplikacje muszą używać przepływu serwera WWW OAuth 2.0. W zależności od typu aplikacji i potrzeb związanych z automatyzacją możesz wybrać jedną z 2 głównych strategii zarządzania danymi logowania:
| Opcja A (zalecana): dostęp offline / automatyczny (integracja CI/CD i serwera) | Opcja B. Dostęp tymczasowy lub interaktywny |
|---|---|
|
Ta strategia umożliwia działanie zautomatyzowanych procesów (takich jak potoki CI/CD) w tle bez interwencji człowieka: Jednorazowa konfiguracja zgody użytkownika: podczas początkowej konfiguracji deweloper lub właściciel konta przechodzi jednorazowy proces wyrażania zgody w przeglądarce. Twoja aplikacja żąda dostępu offline ( access_type=offline) wraz z zakresem interfejsu API. Google zwraca kod autoryzacji, który aplikacja wymienia na początkowy token dostępu i ważny przez długi czas token odświeżania.Wykonywanie w tle: bezpiecznie przechowuj refresh_token w środowisku wdrażania lub menedżerze obiektów tajnych (np. GitHub Actions Secrets, Google Secret Manager). W przypadku kolejnych wywołań interfejsu API zautomatyzowany przepływ pracy używa zapisanego tokena odświeżania, aby na żądanie uzyskać nowy, krótkotrwały token dostępu, pomijając wszelkie prośby o ręczne logowanie lub uwierzytelnianie dwuskładnikowe.
|
Jeśli nie chcesz przechowywać w swoim środowisku długotrwałych tokenów odświeżania lub jeśli Twoja aplikacja działa w interaktywnym kontekście użytkownika: Prośba o podanie danych podczas wykonywania: nie proś o dostęp offline ani nie przechowuj tokena odświeżania. Za każdym razem, gdy narzędzie lub aplikacja jest uruchamiana, poproś użytkownika o uwierzytelnienie, przekierowując go na stronę zgody Google OAuth w przeglądarce. Dostęp krótkotrwały: użytkownik loguje się i wyraża zgodę, a aplikacja otrzymuje krótkotrwały token dostępu bezpośrednio (lub za pomocą wymiany kodu autoryzacji). Ten token dostępu jest używany do wywoływania interfejsu API i jest odrzucany po wykonaniu. Kolejne uruchomienia wymagają ponownego uwierzytelnienia użytkownika. |
Rejestrowanie nazwy pakietu
Rejestracja nazwy pakietu to proces powiązania klucza z nazwą pakietu. Sposób rejestracji klucza zależy od tego, czy rejestrujesz go w przypadku nowej czy istniejącej nazwy pakietu na Androidzie.
Rejestrowanie nowej nazwy pakietu
W przypadku nowej nazwy pakietu, która nigdy nie była używana na Androidzie, możesz podać certyfikat klucza publicznego z pary kluczy podpisywania aplikacji.
Rejestrowanie istniejącej nazwy pakietu
Aby zarejestrować istniejącą nazwę pakietu, musisz udowodnić, że masz prawo własności do znanego prywatnego klucza podpisywania. W przeciwieństwie do nowej rejestracji interfejs API zwraca listę znanych odcisków cyfrowych certyfikatu publicznego, które kwalifikują się do rejestracji. Tych kluczy można używać do bezpośredniej rejestracji.
Jeśli klucz, który rejestrujesz, jest oznaczony jako „wymaga uzasadnienia”, nadal możesz go zarejestrować, ale oprócz potwierdzenia własności deweloper musi też przesłać uzasadnienie użycia nazwy pakietu.
Kluczowe kryteria kwalifikacji
Lista kwalifikujących się kluczy jest określana przez reguły dotyczące kwalifikowania się nazw pakietów. Reguły te mają na celu ograniczenie udostępniania nazw pakietów i zostały wprowadzone w ramach weryfikacji deweloperów aplikacji na Androida.
W sytuacjach, gdy nazwa pakietu jest używana przez kilku deweloperów lub ma kilka kluczy podpisywania, kryteria kwalifikacji określa się w ten sposób:
| Scenariusz | Reguła dotycząca rejestracji bezpośredniej | Reguła dla innych deweloperów |
|---|---|---|
| Większościowy posiadacz klucza | Priorytet ma klucz, który odpowiada za ponad 50% wszystkich znanych instalacji. | Wszyscy pozostali deweloperzy muszą podać uzasadnienie. |
| 50 i więcej instalacji | Jeśli żaden klucz nie ma ponad 50% instalacji, kwalifikują się wszystkie klucze z co najmniej 50 instalacjami. | Deweloperzy, których klucze mają mniej niż 50 instalacji, muszą podać uzasadnienie. |
| Mniej niż 50 instalacji | Jeśli żaden klucz nie osiągnie progu 50 instalacji, każdy klucz może być używany w kolejności zgłoszeń. | Gdy jeden deweloper się zarejestruje, pozostali muszą podać uzasadnienie. |
Weryfikowanie własności klucza
Aby dokończyć weryfikację istniejącej nazwy pakietu, interfejs API udostępnia ciąg weryfikacyjny. Ten ciąg weryfikacyjny musi znajdować się w nowym pliku o nazwie adi-registration.properties w folderze zasobów aplikacji. Następnie musisz podpisać i przesłać plik APK za pomocą klucza prywatnego odpowiadającego rejestrowanemu kluczowi publicznemu.
Uzasadnianie rejestracji klucza
Jeśli rejestracja klucza wymaga uzasadnienia, deweloperzy muszą przesłać szczegółowe uzasadnienie biznesowe. Google sprawdzi to uzasadnienie. Zatwierdzenie rejestracji nazwy pakietu może potrwać do 24 godzin.
Sprawdzone metody zapewniania wygody użytkowników
Zalecamy, aby aplikacje korzystające z interfejsu API Konsoli programisty Androida stosowały te wzorce, aby zapewnić płynną integrację.
Ustal przejrzysty kontekst autoryzacji OAuth
Podanie wyraźnego kontekstu przed poproszeniem o autoryzację OAuth pomaga deweloperom zrozumieć, dlaczego wymagany jest dostęp do konta. Aby skutecznie kierować użytkowników, przed wyświetleniem ekranu zgody OAuth przedstaw jasne wyjaśnienie oczekiwanych funkcji.
Struktura kontekstu autoryzacji powinna mieć ten format:
- Tytuł: „Połącz swoje konto w Konsoli programisty Androida”
- Podsumowanie: „Zarządzaj rejestracją nazw pakietów na potrzeby weryfikacji dewelopera aplikacji na Androida w aplikacji [application-name]”
- Przycisk polecenia: przycisk „Kontynuuj z Google” lub „Zaloguj się przez Google”.
Zidentyfikuj konta deweloperów
- Zintegruj z metodą interfejsu API
ListDeveloperAccounts, aby pobierać i wyświetlać listę wszystkich kont dewelopera, do których masz autoryzowany dostęp. - Udostępnij selektor kont, aby deweloper mógł wybrać preferowane konto dewelopera.
- Wyraźnie wyróżnij konto
displayName, używając numeru rachunku bankowego z polanamejako informacji dodatkowej. - Wyświetlanie stanów weryfikacji konta (
verificationState):VERIFIED: potwierdź zweryfikowaną tożsamość dewelopera za pomocą pozytywnego sygnału wizualnego (np. zielonej ikony potwierdzenia).NOT_VERIFIED: poinformuj, że weryfikacja jest niekompletna, i ogranicz rejestrację pakietów na koncie. Opcjonalnie możesz dodać główny przycisk wezwania do działania, który po wybraniu konta przekieruje deweloperów do Konsoli programisty Androida.
Jeśli otrzymasz pustą odpowiedź, ponieważ z kontem Google nie są powiązane żadne konta dewelopera, przekieruj deweloperów do Konsoli programisty Androida za pomocą głównego przycisku wezwania do działania.
Zarządzanie nazwami pakietów
- Zintegruj z punktem końcowym interfejsu API
ListAndroidPackages, aby pobrać wszystkie nazwy pakietów powiązane z kontem dewelopera. Zapewnij deweloperom scentralizowany interfejs, np. listę lub tabelę, aby mogli skutecznie monitorować stany pakietów. - Wyświetlaj
packageNameobok bieżącego stanu rejestracji (DRAFT,IN_REVIEW,REGISTEREDlubPENDING_TRANSFER), stosując różne wskaźniki wizualne dla każdego stanu. Jeśli podczas tworzenia podano i zapisano „przyjazną nazwę”, możesz opcjonalnie uwzględnić ją na wyświetlaczu.
Zarządzaj kluczami
- Wywołaj punkt końcowy interfejsu API
ListAndroidPackageKeys, aby pobrać wszystkie klucze powiązane z nazwą pakietu. Dzięki temu deweloperzy będą mogli wyświetlić uporządkowane zestawienie (np. tabelę lub listę) i sprawdzić stan rejestracji. - Wyświetlaj
certificateFingerprintSha256dla każdego klucza wraz ze stanem rejestracji (DRAFT,OWNERSHIP_VERIFIED,IN_REVIEW,REGISTERED_ACTIVElubPENDING_TRANSFER), używając różnych wskaźników wizualnych do rozróżniania stanów.
- Umożliwiaj deweloperom rejestrowanie dodatkowych kluczy pod istniejącą nazwą pakietu przez integrację z metodą interfejsu API
CreateAndroidPackageKey.
Rejestrowanie nazwy pakietu
- Użyj układu opartego na formularzu, w którym deweloperzy wpisują nazwę pakietu w polu tekstowym, pod warunkiem że te informacje nie zostały już zebrane przez aplikację (np. za pomocą wcześniejszego promptu).
- Wywołaj metodę interfejsu API
CreateAndroidPackage, aby zarejestrować nazwę pakietu na koncie dewelopera, i wywołaj metodę interfejsu APIGetAndroidPackageRegistrationPolicy, aby określić odpowiednie reguły kwalifikowania kluczy. - W zależności od wyznaczonego
keySelectionStrategydla nazwy pakietu poproś dewelopera o wykonanie jednej z tych czynności:- Jeśli parametr
keySelectionStrategyma wartośćSELECT_KEY_FROM_LIST: poproś dewelopera o wybranie klucza do rejestracji z podanej listyknownKeys(zawierającej odciski cyfrowe certyfikatów SHA-256), np. za pomocą przycisków opcji. Ten proces wymaga weryfikacji własności klucza (patrz Weryfikacja własności klucza poniżej). - Jeśli zasada
keySelectionStrategyjest ustawiona naUSE_ANY_KEY: poproś dewelopera o bezpośrednie podanie klucza. W tym przypadku nie jest wymagana weryfikacja własności klucza.
- Jeśli parametr
- Wywołaj metodę interfejsu API
CreateAndroidPackageKey, aby powiązać wybrany klucz z nową nazwą pakietu.
Możesz też skonfigurować aplikację tak, aby automatycznie wykrywała i wyodrębniała nazwę pakietu lub klucz bezpośrednio z przesłanej aplikacji.
Weryfikowanie własności klucza
Gdy zasada keySelectionStrategy ma wartość SELECT_KEY_FROM_LIST, deweloperzy muszą potwierdzić własność prywatnego klucza podpisywania. Aby potwierdzić własność, musisz przesłać podpisany plik APK, który zawiera wygenerowany przez interfejs API ciąg verificationToken.
Aby umożliwić weryfikację własności kluczyka, zintegruj metodę interfejsu API VerifyAndroidPackageKeyOwnership i utwórz te komponenty interfejsu:
- Komponent wyświetlania tokena: wyświetlaj
verificationTokenw widocznym miejscu w bloku fragmentu kodu, wraz z przydatnym przyciskiem „Kopiuj do schowka”. - Instrukcje konfiguracji dla dewelopera: podaj szczegółowe instrukcje, które pomogą deweloperowi umieścić plik
adi-registration.propertieszawierającyverificationTokenw folderze zasobów aplikacji. - Strefa upuszczania do przesyłania plików APK: udostępnij specjalną strefę upuszczania do przesyłania plików, aby otrzymywać podpisane pliki APK.
Uzasadnianie rejestracji klucza
Jeśli pole justificationRequired znanego klucza ma wartość REQUIRED, zarejestrowanie tego klucza wraz z nazwą pakietu wymaga od deweloperów przesłania szczegółowego uzasadnienia biznesowego.
Prześlij to uzasadnienie, wywołując metodę interfejsu API JustifyAndroidPackageKeyRegistration. Upewnij się, że interfejs aplikacji zawiera specjalny obszar do wprowadzania tekstu, w którym deweloper może podać uzasadnienie, i poinformuj go, że przed przesłaniem prośby o rejestrację klucza musi podać uzasadnienie. Google sprawdzi przesłane uzasadnienie. Proces zatwierdzania może potrwać do 24 godzin, zanim rejestracja nazwy pakietu zostanie zakończona.
Automatyzacja weryfikacji kluczy zarządzanych
Jeśli Twoja aplikacja zarządza kluczem podpisywania dewelopera, deweloper nie może ręcznie podpisać pakietu APK w celu weryfikacji własności. Zamiast tego musisz automatycznie wywołać interfejs API VerifyAndroidPackageKeyOwnership w ich imieniu.
Dzięki automatycznemu dołączaniu tokena i przesyłaniu pliku APK aplikacja eliminuje te ręczne czynności. Pamiętaj, aby poinformować deweloperów, że weryfikacja własności klucza jest bezproblemowo zarządzana przez Twoją aplikację za pomocą klucza przechowywanego w Twoim systemie.
Przestrzeganie wskazówek dotyczących marki
Aby utrzymać zaufanie użytkowników i zapewnić przejrzystość, wszystkie aplikacje zintegrowane z interfejsem API Konsoli programisty Androida muszą być zgodne z tymi wytycznymi dotyczącymi marki.
Terminologia i użycie wielkich liter
W materiałach lub dokumentacji dla użytkowników zawsze używaj pełnej nazwy Konsola programisty Androida. Nie używaj skrótu „ADC”.
Program musi być określany jako weryfikacja dewelopera aplikacji na Androida. We wszystkich kontekstach używaj dokładnie takiej pisowni i wielkości liter.
Aby uniknąć niejednoznaczności w przypadku plików APK lub AAB, używaj terminu „nazwa pakietu”, a nie tylko „pakiet”.
Opisując proces dodawania nazwy pakietu, używaj sformułowania „zarejestruj nazwę pakietu” zamiast „zgłoś prawa do nazwy pakietu”.
Używanie wezwania do działania „Zaloguj się”
Uwierzytelnianie OAuth 2.0 w Konsoli programisty Androida opiera się na usługach tożsamości Google. Aby zachować zgodność ze wskazówkami dotyczącymi marki w Google Identity Services, na przycisku autoryzacji musisz użyć wezwania do działania „Kontynuuj z Google” lub „Zaloguj się przez Google”. Ten tekst jest obowiązkowy i nie można go modyfikować, ponieważ dzięki niemu użytkownicy wiedzą, że używają swoich danych logowania Google, aby autoryzować dostęp aplikacji do ich konta Google.
Utrzymywanie tożsamości i integralności marki
Podczas integrowania logo Konsoli programisty Androida z interfejsem aplikacji musisz przestrzegać tych specyfikacji, aby zachować tożsamość wizualną i spójność marki:
- Umiejscowienie i hierarchia logo: używaj tylko oficjalnego, zatwierdzonego logo Konsoli programisty Androida. Logo musi zawsze być drugorzędne w stosunku do głównych elementów marki Twojej aplikacji, aby nie wprowadzać użytkowników w błąd, że aplikacja jest oficjalnym produktem Google.
- Styl wizualny i zniekształcenia: komponent musi być zawsze renderowany z zachowaniem pełnego formatu obrazu. Nie wolno zniekształcać, rozciągać, przekrzywiać, przycinać, odwracać ani modyfikować elementów logo. Nie zmieniaj oficjalnej palety kolorów, nie zamieniaj kolorów pierwszego planu i tła ani nie stosuj cieni, efektów blasku czy dekoracyjnych gradientów.
- Ograniczenia dotyczące użycia: nie dodawaj żadnych elementów marki należących do Google do zasobów własnej aplikacji. Zasób logo Konsoli programisty Androida może być używany tylko w kontekście układu aplikacji, aby wyraźnie wskazywać aktywną integrację.
Dodatkowe materiały
- Dokumentacja interfejsu API Konsoli programisty Androida
- Sprawdzanie stanu rejestracji aplikacji za pomocą interfejsu Android Developer ID Status API
- Rejestracja w Konsoli programisty Androida
- Rejestracja w Konsoli Google Play
- Podpisywanie aplikacji