Paketnamen mit der Android Developer Console API registrieren

Die Android Developer Console API ist eine öffentliche Schnittstelle, über die App-Anbieter und einzelne Entwickler Paketnamen programmatisch in der Android Developer Console registrieren können.

Ihre Server-zu-Server-Funktionen als:

App-Anbieter Einzelner Entwickler
Registrieren Sie einen Paketnamen und einen Schlüssel im Namen des Entwicklers, der eine App im Store veröffentlicht. Registrieren Sie einen Paketnamen mit einem vom App-Shop verwalteten Schlüssel. Weisen Sie die Eigentümerschaft eines Schlüssels nach, der mit einem Paketnamen verknüpft ist. Registrieren Sie einen Paketnamen – ein wichtiger Schritt in Ihren Continuous Deployment-Workflows. Sie müssen die Eigentümerschaft eines Schlüssels nachweisen, der mit einem Paketnamen verknüpft ist.

Hinweis

Bevor Sie beginnen, sollten Sie Folgendes haben:

  1. Administratorzugriff auf ein Google Cloud-Projekt.
  2. Grundkenntnisse in folgenden Bereichen:

Außerdem sollten Sie mit den folgenden Begriffen vertraut sein:

Begriff Definition
Entwicklerkonto Stellt ein Android Developer Console-Konto dar, das einen oder mehrere Paketnamen enthalten kann. Sie enthält einen Bestätigungsstatus (NOT_VERIFIED oder VERIFIED).
Paketname Ein bestimmter Android-Paketname (z. B. com.example.app) in einem Entwicklerkonto, der mit einem oder mehreren Schlüsseln verknüpft werden kann. Sie enthält einen Registrierungsstatus (DRAFT, IN_REVIEW, REGISTERED oder PENDING_TRANSFER).
Schlüssel Das spezifische öffentliche Zertifikat bzw. der spezifische öffentliche Schlüssel, mit dem ein Android-Paketname signiert wird. Enthält den SHA-256-Hash und den aktuellen Registrierungsstatus (DRAFT, OWNERSHIP_VERIFIED, IN_REVIEW, REGISTERED oder PENDING_TRANSFER).

Jetzt starten

Führen Sie die folgenden Schritte aus, um auf die Android Developer Console API zuzugreifen:

Google Cloud-Projekt erstellen

  1. Erstellen Sie ein Google Cloud-Konto, falls Sie noch keines haben.
  2. Öffnen Sie die Google Cloud Console.
  3. Google Cloud-Projekt erstellen

API in Ihrem Google Cloud-Projekt aktivieren

  1. Öffnen Sie die Google Cloud Console.
  2. Wählen Sie im Navigationsmenü (☰) APIs und Dienste > Bibliothek aus.
  3. Wählen Sie im Drop-down-Menü für Projekte das Google Cloud-Projekt aus, in dem Sie die API aktivieren möchten.
  4. Wählen Sie über die Suchleiste APIs & Dienste die Android Developer Console API aus.
  5. Aktivieren Sie die API:
    1. Rufen Sie die Übersichtsseite der API auf, indem Sie sie in den Suchergebnissen auswählen.
    2. Klicken Sie auf den blauen Button „Aktivieren“. Google Cloud aktiviert die API für Ihr ausgewähltes Projekt. Das dauert in der Regel nur einen Moment. Nach der Aktivierung können Sie sie verwenden.

API authentifizieren

Wenn Sie die Android Developer Console API aufrufen möchten, müssen Sie Ihre Anfragen mit OAuth 2.0 authentifizieren.

Authentifizieren mit OAuth 2.0

Die Android Developer Console API erfordert eine OAuth 2.0-Authentifizierung, um den Zugriff auf Entwicklerkontoressourcen und Paketnamen zu autorisieren. Da Entwicklerkontodaten an das Google-Konto eines Nutzers und nicht an ein Google Cloud-Projekt gebunden sind, können Dienstkonten, die Workload Identity-Föderation und API-Schlüssel nicht zur Authentifizierung von API-Anfragen verwendet werden.

OAuth 2.0-Bereich

Der folgende Bereich ist für alle Vorgänge erforderlich:

OAuth 2.0-Bereich Beschreibung
https://www.googleapis.com/auth/androiddeveloperconsole Namen und Daten von Paketen in Ihren Android Developer Console-Konten abrufen und verwalten

OAuth 2.0-Webserver-Ablauf implementieren

Für die Integration in die Android Developer Console API müssen Anwendungen den OAuth 2.0-Webserver-Flow verwenden. Je nach Anwendungstyp und Automatisierungsanforderungen können Sie zwischen zwei Hauptstrategien für die Verwaltung von Anmeldedaten wählen:

Option A (empfohlen): Offline-/automatisierter Zugriff (CI/CD- und Serverintegration) Option B: Kurzlebiger / interaktiver Zugriff
Mit dieser Strategie können automatisierte Prozesse (wie CI/CD-Pipelines) im Hintergrund ohne menschliches Eingreifen ausgeführt werden:

Einmalige Einrichtung der Nutzereinwilligung: Während der Ersteinrichtung durchläuft ein Entwickler oder Kontoinhaber einen einmaligen Einwilligungsprozess im Browser. Ihre Anwendung fordert Offlinezugriff (access_type=offline) zusammen mit dem API-Bereich an. Google gibt einen Autorisierungscode zurück, den deine Anwendung gegen ein erstes Zugriffstoken und ein langlebiges Aktualisierungstoken eintauscht.

Ausführung im Hintergrund: Speichern Sie die refresh_token sicher in Ihrer Bereitstellungsumgebung oder in einem Secret Manager (z. B. GitHub Actions Secrets, Google Secret Manager). Bei nachfolgenden API-Aufrufen verwendet Ihr automatisierter Workflow das gespeicherte Aktualisierungstoken, um bei Bedarf ein neues kurzlebiges Zugriffstoken abzurufen. Dabei werden manuelle Anmelde- oder 2FA-Aufforderungen umgangen.
Wenn Sie langlebige Aktualisierungstokens nicht in Ihrer Umgebung speichern möchten oder Ihre Anwendung in einem interaktiven Nutzerkontext ausgeführt wird:

Aufforderung bei Ausführung: Fordern Sie keinen Offlinezugriff an und speichern Sie kein Aktualisierungstoken. Fordern Sie den Nutzer bei jeder Ausführung des Tools oder der Anwendung zur Authentifizierung auf, indem Sie ihn im Browser zur Google OAuth-Zustimmungsseite weiterleiten.

Kurzlebiger Zugriff: Der Nutzer meldet sich an und stimmt zu. Die Anwendung erhält direkt (oder über den Austausch von Autorisierungscodes) ein kurzlebiges Zugriffstoken. Dieses Zugriffstoken wird für API-Aufrufe verwendet und nach der Ausführung verworfen. Für zukünftige Ausführungen muss sich der Nutzer noch einmal authentifizieren.

Paketnamen registrieren

Bei der Registrierung von Paketnamen wird ein Schlüssel mit einem Paketnamen verknüpft. Wie ein Schlüssel registriert wird, hängt davon ab, ob Sie einen Schlüssel für einen neuen oder einen vorhandenen Paketnamen in Android registrieren.

Neuen Paketnamen registrieren

Für einen neuen Paketnamen, der noch nie auf Android verwendet wurde, können Sie das Public-Key-Zertifikat aus dem Signaturschlüsselpaar der App angeben.

Vorhandenen Paketnamen registrieren

Wenn Sie einen vorhandenen Paketnamen registrieren möchten, müssen Sie die Eigentümerschaft eines bekannten privaten Signaturschlüssels nachweisen. Im Gegensatz zur Neuregistrierung gibt die API eine Liste bekannter öffentlicher Zertifikat-Fingerabdrücke zurück, die für die Registrierung infrage kommen. Diese Schlüssel können für die direkte Registrierung verwendet werden.

Wenn der Schlüssel, den Sie registrieren, als „Begründung erforderlich“ aufgeführt ist, können Sie ihn trotzdem registrieren. Neben dem Nachweis der Eigentümerschaft muss der Entwickler jedoch auch eine Begründung für die Verwendung des Paketnamens einreichen.

Wichtige Teilnahmevoraussetzungen

Die Liste der berechtigten Schlüssel wird durch die Berechtigungsregeln für Paketnamen bestimmt, die darauf ausgelegt sind, die gemeinsame Nutzung von Paketnamen zu minimieren (eingeführt im Rahmen der Bestätigung für Android-Entwickler).

Für Szenarien, bei denen ein Paketname von mehreren Entwicklern verwendet wird oder mehrere Signaturschlüssel hat, wird die Berechtigung so ermittelt:

Szenario Regel für die direkte Registrierung Regel für andere Entwickler
Schlüssel mit Mehrheit Der Schlüssel, zu dem über 50 % der bekannten Gesamtinstallationen gehören, hat Priorität. Alle anderen Entwickler müssen eine Begründung angeben.
Mehr als 50 Installationen Wenn zu keinem einzelnen Schlüssel über 50 % der Installationen gehören, kommen alle Schlüssel mit mindestens 50 Installationen infrage. Entwickler mit Schlüsseln, zu denen weniger als 50 Installationen gehören, müssen eine Begründung angeben.
Weniger als 50 Installationen Wenn kein Schlüssel die Mindestanzahl von 50 Installationen erreicht, kann jeder Schlüssel nach dem Windhundprinzip verwendet werden. Sobald sich ein Entwickler registriert hat, müssen andere eine Begründung angeben.

Inhaberschaft des Schlüssels bestätigen

Um die Bestätigung für einen vorhandenen Paketnamen abzuschließen, stellt die API einen Bestätigungsstring bereit. Dieser Bestätigungsstring muss in einer neuen Datei mit dem Namen adi-registration.properties im Asset-Ordner der App enthalten sein. Anschließend müssen Sie das APK mit dem privaten Schlüssel signieren und hochladen, der dem öffentlichen Schlüssel entspricht, den Sie registrieren.

Schlüsselregistrierung begründen

Wenn für die Registrierung eines Schlüssels eine Begründung erforderlich ist, müssen Entwickler eine detaillierte geschäftliche Begründung einreichen. Google prüft diese Begründung. Die Genehmigung der Paketnamenregistrierung kann bis zu 24 Stunden dauern.

Best Practices für die Nutzererfahrung

Es wird empfohlen, dass Anwendungen, die die Android Developer Console API verwenden, diese Muster befolgen, um eine nahtlose Integration zu gewährleisten.

Klaren OAuth-Autorisierungskontext herstellen

Wenn Sie vor dem Anfordern der OAuth-Autorisierung expliziten Kontext angeben, können Entwickler besser nachvollziehen, warum der Kontozugriff erforderlich ist. Um Nutzer effektiv zu unterstützen, sollten Sie vor dem Start des OAuth-Zustimmungsbildschirms eine klare Erklärung der erwarteten Funktionalität präsentieren.

Strukturieren Sie den Autorisierungskontext im folgenden Format:

  • Titel: „Android Developer Console-Konto verknüpfen“
  • Zusammenfassung: „Registrierung von Paketnamen für die Bestätigung für Android-Entwickler in [Anwendungsname] verwalten“
  • Aktionsbutton: „Weiter mit Google“ oder „Über Google anmelden“
Dialogfeld, das den OAuth-Autorisierungskontext für die Verknüpfung eines Kontos veranschaulicht.
Abbildung 1. Verknüpfen Sie Ihr Android Developer Console-Konto.

Entwicklerkonten identifizieren

  1. Integrieren Sie die API-Methode ListDeveloperAccounts, um alle Entwicklerkonten abzurufen und aufzulisten, für die der Zugriff autorisiert wurde.
  2. Stellen Sie eine Kontoauswahl bereit, damit der Entwickler das gewünschte Entwicklerkonto auswählen kann.
  3. Heben Sie das Konto displayName hervor und verwenden Sie die Kontonummer aus dem Feld name als sekundäre Information.
  4. Kontobestätigungsstatus anzeigen (verificationState):
    • VERIFIED: Bestätigen Sie die Identität des Entwicklers mit einem positiven visuellen Hinweis (z.B. einem grünen Häkchen).
    • NOT_VERIFIED: Gibt an, dass die Bestätigung unvollständig ist, und schränkt die Paketregistrierung für das Konto ein. Optional kannst du einen primären CTA-Button angeben, über den Entwickler nach Auswahl des Kontos zur Android Developer Console weitergeleitet werden.
Kontoauswahl mit dem Namen des Entwicklerkontos und dem Bestätigungsstatus.
Abbildung 2. Kontoauswahl mit Entwicklerkonten und Bestätigungsstatus

Wenn eine leere Antwort zurückgegeben wird, weil keine Entwicklerkonten mit dem Google-Konto verknüpft sind, leite die Entwickler über einen primären CTA-Button zur Android Developer Console weiter.

Paketnamen verwalten

  1. Binden Sie den API-Endpunkt ListAndroidPackages ein, um alle Paketnamen abzurufen, die mit dem Entwicklerkonto verknüpft sind. Stellen Sie Entwicklern eine zentrale Oberfläche wie eine Liste oder Tabelle zur Verfügung, über die sie den Status ihrer Pakete effektiv überwachen können.
  2. Zeigen Sie die packageName zusammen mit dem aktuellen Registrierungsstatus (DRAFT, IN_REVIEW, REGISTERED oder PENDING_TRANSFER) an und verwenden Sie für jeden Status unterschiedliche visuelle Indikatoren. Wenn beim Erstellen ein „Anzeigename“ angegeben und gespeichert wurde, können Sie ihn optional in die Anzeige aufnehmen.
Oberfläche mit registrierten Paketnamen und ihrem Status.
Abbildung 3. Schnittstelle zum Verwalten von Paketnamen und Registrierungsstatus.

Schlüssel verwalten

  1. Rufen Sie den API-Endpunkt ListAndroidPackageKeys auf, um alle Schlüssel abzurufen, die mit einem Paketnamen verknüpft sind. Entwickler erhalten so eine strukturierte Übersicht (z. B. eine Tabelle oder Liste), um ihren Registrierungsstatus zu überwachen.
  2. Präsentieren Sie die certificateFingerprintSha256 für jeden Schlüssel zusammen mit dem Registrierungsstatus (DRAFT, OWNERSHIP_VERIFIED, IN_REVIEW, REGISTERED_ACTIVE oder PENDING_TRANSFER) und verwenden Sie unterschiedliche visuelle Indikatoren, um zwischen den Status zu unterscheiden.
Liste der Zertifikat-Fingerabdrücke und Schlüsselregistrierungsstatus.
Abbildung 4. Übersicht über Schlüssel und ihren Registrierungsstatus.
  1. Ermöglichen Sie Entwicklern, zusätzliche Schlüssel unter einem vorhandenen Paketnamen zu registrieren, indem Sie die API-Methode CreateAndroidPackageKey einbinden.

Paketnamen registrieren

  1. Verwenden Sie ein formularbasiertes Layout, bei dem Entwickler ihren Paketnamen in ein Textfeld eingeben, sofern diese Informationen nicht bereits von Ihrer Anwendung erfasst wurden (z.B. durch eine frühere Aufforderung).
  2. Rufen Sie die API-Methode CreateAndroidPackage auf, um einen Paketnamen im Entwicklerkonto zu registrieren, und rufen Sie die API-Methode GetAndroidPackageRegistrationPolicy auf, um die geltenden Regeln für die Schlüsselberechtigung zu ermitteln.
  3. Fordern Sie den Entwickler je nach dem angegebenen keySelectionStrategy für den Paketnamen auf, eine der folgenden Aktionen auszuführen:
    • Wenn keySelectionStrategy auf SELECT_KEY_FROM_LIST festgelegt ist: Der Entwickler muss einen Schlüssel für die Registrierung aus der bereitgestellten knownKeys-Liste (mit SHA-256-Zertifikat-Fingerabdrücken) auswählen, z. B. über Optionsfelder. Für diesen Ablauf ist eine Bestätigung der Inhaberschaft des Schlüssels erforderlich (siehe Inhaberschaft eines Schlüssels bestätigen unten).
    • Wenn keySelectionStrategy auf USE_ANY_KEY gesetzt ist: Fordern Sie den Entwickler auf, einen Schlüssel direkt anzugeben. In diesem Fall ist keine Bestätigung der Schlüsselinhaberschaft erforderlich.
  4. Rufen Sie die API-Methode CreateAndroidPackageKey auf, um den ausgewählten Schlüssel mit dem neuen Paketnamen zu verknüpfen.
Formular zum Registrieren des Paketnamens und Auswählen des Signaturschlüssels.
Abbildung 5. Ablauf zum Registrieren eines Paketnamens und Auswählen eines Schlüssels.

Alternativ kann Ihre Anwendung den Paketnamen oder Schlüssel automatisch direkt aus einer hochgeladenen App erkennen und extrahieren.

Inhaberschaft eines Schlüssels bestätigen

Wenn keySelectionStrategy auf SELECT_KEY_FROM_LIST gesetzt ist, müssen Entwickler die Inhaberschaft ihres privaten Signaturschlüssels nachweisen. Für den Nachweis der Inhaberschaft muss ein signiertes APK eingereicht werden, das die von der API generierte verificationToken enthält.

Wenn Sie die Bestätigung der Schlüsselinhaberschaft unterstützen möchten, binden Sie die API-Methode VerifyAndroidPackageKeyOwnership ein und erstellen Sie die folgenden Komponenten für die Benutzeroberfläche:

  • Token-Anzeigekomponente: Zeigen Sie das verificationToken gut sichtbar in einem Code-Snippet-Block an, einschließlich eines praktischen Buttons „In die Zwischenablage kopieren“.
  • Anleitung zur Einrichtung für Entwickler:Stellen Sie eine detaillierte Anleitung bereit, in der Sie den Entwickler anweisen, eine adi-registration.properties-Datei mit dem verificationToken im Asset-Ordner der App zu platzieren.
  • Dropzone für die APK-Einreichung:Biete eine spezielle Dropzone für den Dateiupload an, um das signierte APK zu erhalten.
Dropzone und Tokenanzeige zur Bestätigung der Inhaberschaft des Schlüssels.
Abbildung 6. UI-Komponenten zum Bestätigen der Inhaberschaft des Schlüssels durch Hochladen eines signierten APKs.

Registrierung eines Schlüssels begründen

Wenn das Feld justificationRequired eines bekannten Schlüssels auf REQUIRED gesetzt ist, müssen Entwickler bei der Registrierung dieses Schlüssels zusammen mit dem Paketnamen eine ausführliche geschäftliche Begründung angeben.

Reichen Sie diese Begründung ein, indem Sie die API-Methode JustifyAndroidPackageKeyRegistration aufrufen. Achten Sie darauf, dass die Benutzeroberfläche Ihrer Anwendung einen speziellen Texteingabebereich enthält, in dem der Entwickler die Begründung eingeben kann. Informieren Sie ihn darüber, dass er eine Begründung angeben muss, bevor er die Anfrage zur Schlüsselregistrierung einreicht. Google prüft die eingereichte Begründung. Dieser Vorgang kann bis zu 24 Stunden dauern, bevor die Registrierung des Paketnamens abgeschlossen ist.

Schlüsselüberprüfung für verwaltete Schlüssel automatisieren

Wenn deine Anwendung den Signaturschlüssel eines Entwicklers verwaltet, kann der Entwickler ein APK nicht manuell zur Bestätigung der Inhaberschaft signieren. Stattdessen müssen Sie den API-Aufruf VerifyAndroidPackageKeyOwnership automatisch in ihrem Namen ausführen.

Durch die automatische Einbindung des Tokens und den automatischen APK-Upload entfallen diese manuellen Schritte in Ihrer Anwendung. Informieren Sie Entwickler darüber, dass die Bestätigung der Schlüssel-Inhaberschaft von Ihrer Anwendung mithilfe des in Ihrem System gespeicherten Schlüssels nahtlos verwaltet wird.

Markenrichtlinien einhalten

Um das Vertrauen der Nutzer zu wahren und für Transparenz zu sorgen, müssen alle Anwendungen, die in die Android Developer Console API eingebunden sind, die folgenden Branding-Richtlinien einhalten.

Terminologie und Großschreibung

Wenn Sie das Produkt in für Nutzer sichtbaren Materialien oder in der Dokumentation erwähnen, verwenden Sie immer den vollständigen Namen „Android Developer Console“. Verwenden Sie nicht die Abkürzung „ADC“.

Das Programm muss als „Bestätigung für Android-Entwickler“ bezeichnet werden. Achten Sie in allen Kontexten auf die genaue Groß- und Kleinschreibung und Rechtschreibung.

Verwenden Sie den Begriff „Paketname“ anstelle von „Paket“, um Unklarheiten mit APKs oder AABs zu vermeiden.

Wenn Sie den Vorgang zum Hinzufügen eines Paketnamens beschreiben, verwenden Sie die Formulierung „Paketnamen registrieren“ anstelle von „Paketnamen beanspruchen“.

Call-to-Action „Anmelden“ verwenden

Die OAuth 2.0-Authentifizierung mit der Android Developer Console basiert auf Google Identity Services. Damit Sie die Branding-Richtlinien für Google Identity Services einhalten, müssen Sie auf dem Autorisierungsbutton den Call-to-Action „Weiter mit Google“ oder „Über Google anmelden“ verwenden. Dieser Text ist obligatorisch und kann nicht geändert werden, da er dafür sorgt, dass Nutzer verstehen, dass sie ihre Google-Anmeldedaten verwenden, um Ihrer Anwendung Zugriff auf ihr Google-Konto zu gewähren.

Markenidentität und ‑integrität wahren

Wenn du das Logo der Android Developer Console in die Benutzeroberfläche deiner App einbindest, musst du die folgenden Vorgaben beachten, um die visuelle Identität und die Markenintegrität zu wahren:

  • Logoplatzierung und ‑hierarchie:Verwende nur das offizielle, genehmigte Logo der Android Developer Console. Das Logo muss immer den primären Branding-Elementen Ihrer eigenen Anwendung untergeordnet sein, damit die Anwendung nicht fälschlicherweise als offizielles Google-Produkt dargestellt wird.
Offizielles Logo der Android Developer Console. Klicken Sie, um die Datei zu speichern.
Abbildung 7. Offizielles Logo der Android Developer Console. Klicken Sie auf das Bild, um die Datei zu speichern.
  • Visueller Stil und Verzerrungen:Das Asset muss immer mit dem korrekten Seitenverhältnis gerendert werden. Die Komponenten des Logos dürfen niemals verzerrt, gestreckt, geneigt, zugeschnitten, gespiegelt oder anderweitig verändert werden. Ändere nicht die offizielle Farbpalette, vertausche nicht die Vorder- oder Hintergrundfarben und wende keine Schlagschatten, Leuchteffekte oder dekorativen Farbverläufe an.
  • Nutzungseinschränkungen:Integrieren Sie keine Markenelemente von Google in Ihre eigenen Anwendungs-Assets. Das Logo-Asset der Android Developer Console darf nur im Kontext des App-Layouts verwendet werden, um eine aktive Integration explizit zu kennzeichnen.

Zusätzliche Ressourcen