Webentwickler, die noch nicht mit Android und Google Play vertraut sind, sollten einige Details beachten. beachten sollten. Zu diesem Thema gibt es bereits zahlreiche Ressourcen und Dokumentationen. -Team), aber an dieser Stelle möchten wir einige wichtige Konzepte und ihren Bezug zu Bubblewrap hervorheben.
Upload- und Signaturschlüssel
Wenn Sie vorhaben, Bubblewrap zum Generieren eines Android App Bundles (AAB) zu verwenden (Hinweis: Ab August 2021 müssen alle neuen Apps bei Google Play das Android App Bundle-Format verwenden) oder APK hochladen und bei Google Play veröffentlichen kannst, musst du deine App mit einem Signaturschlüssel signieren. Google Bei Google Play haben Sie zwei Möglichkeiten, dies zu beseitigen:
- Play App-Signatur (dringend empfohlen): Google verwaltet und schützt den Signaturschlüssel Ihrer App.
für Sie. Damit werden Ihre APKs für den Vertrieb signiert. Für die Play App-Signatur werden zwei Schlüssel verwendet. Die „App“
Signaturschlüssel“ die Google für Sie verwaltet, und den Uploadschlüssel die Sie behalten und auch weiterhin
nur für Sie sichtbar sind. Mit dem Uploadschlüssel signierst du deine App für den Upload in die Play Console. Dieses
kannst du deinen Uploadschlüssel zurücksetzen, falls er verloren geht oder kompromittiert wird.
den Google Play-Kundenservice kontaktieren. Derzeit ist Google Play
können Sie Ihre App als AAB oder APK hochladen:
<ph type="x-smartling-placeholder">
- </ph>
- Android App Bundle (AAB): Wenn Sie ein AAB in die Play Console hochladen, verschieben Sie die Erstellung und Generierung von APKs auf die Google Play Store Wenn ein Nutzer deine App herunterlädt und installiert, wird sie über Google Play bereitgestellt. als signiertes APK. Daher muss das Signieren der APKs ebenfalls Google Play Wenn Sie Ihre App also als AAB in die Play Console hochladen, müssen Sie die Play App-Signatur verwenden.
- APK: Bei APKs können Sie sich für die Play App-Signatur anmelden. Google Play-App aktivieren Das Signieren wird dringend empfohlen, da es die Sicherheit Ihres Signaturschlüssels erhöht. Wie erwähnt müssen bei Google Play bald alle neuen Apps im AAB-Format hochgeladen werden. empfehlen wir, dies zu tun, anstatt APKs hochzuladen.
- Eigenen Signaturschlüssel verwalten: Wenn Sie Ihren eigenen Schlüssel verwalten, aber nicht der Play App zustimmen Beim Signieren sind Sie allein für den Signaturschlüssel Ihrer App verantwortlich. Anders als bei der Play App-Signatur kann er bei Verlust des Schlüssels nicht zurückgesetzt werden. Wenn Sie den Signaturschlüssel Ihrer App verlieren, können Sie Ihre App auch nicht mehr aktualisieren.
Wenn Sie bei der Einrichtung von bubblewrap init
zum Abschnitt Informationen zum Signierschlüssel (5/5) gelangen, gehen Sie so vor:
werden Sie aufgefordert, „Schlüsselspeicherstandort“ und „Schlüsselname“ einzugeben oder die Standardwerte zu verwenden. Die
Der Standardspeicherort ist die Datei android.keystore
in Ihrem Projektverzeichnis.
Schlüsselname ist android
. Wenn Bubblewrap keinen vorhandenen Schlüsselspeicher mit diesem Schlüsselnamen am
wird eines für Sie erstellt und Sie werden zur Eingabe von Passwörtern aufgefordert. Notieren Sie sich die Passwörter.
da sie während des Build-Prozesses benötigt werden (bubblewrap build
). Hier wird mithilfe von
um Ihre App zu signieren. Wenn Sie die Play App-Signatur aktivieren, wird der von Bubblewrap
generiert und zum Signieren Ihrer App verwendet wird. Ob Sie sich für die Verwendung des
Von Bubblewrap erzeugten Schlüssel als Signatur- oder Uploadschlüssel verwendet werden. Sie sollten den Schlüssel schützen und vertraulich halten.
Wir raten davon ab, sie zur Versionsverwaltung zu verwenden. Begrenzen Sie stattdessen die Anzahl der Personen mit
darauf zugreifen können.
Digital Asset Links
Digital Asset Links sind erforderlich, um die Beziehung zwischen Ihrer Website und Ihrem Android-Gerät
Um sicherzustellen, dass deine von Bubblewrap generierte Android-App ordnungsgemäß verifiziert wird und als
Vertrauenswürdige Webaktivitäten (anstelle eines benutzerdefinierten Chrome-Tabs) müssen Sie den entsprechenden Schlüssel zu
Ihre assetlinks.json
-Datei. Laden Sie es dann auf Ihre Website unter .well-known/assetlinks.json
hoch.
(relativ zum Stamm). Die Datei assetlinks.json
muss folgendes Format haben:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
}]
Fingerabdruck des SHA256-Zertifikats abrufen
Zum Erstellen der Datei assetlinks.json
muss der SHA-256-Zertifikat-Fingerabdruck verknüpft sein
mit dem Signaturschlüssel Ihrer App. Wichtig ist, dass die Fingerabdrücke, die mit der
Ihre Signatur- und Uploadschlüssel unterscheiden sich. Es ist wichtig,
Bedenke diese Unterscheidung, insbesondere wenn du bemerkst, dass deine App als benutzerdefinierter Chrome-Tab gestartet wird (mit
Browserleiste sichtbar). Dann enthält die Datei assetlinks.json
wahrscheinlich nicht die
Fingerabdruck, der dem entsprechenden Schlüssel entspricht.
Es ist sinnvoll, sowohl den Fingerabdruck Ihres Signatur- und Uploadzertifikats als auch den Fingerabdruck Ihres Signaturzertifikats in Ihrer assetlinks.json-Datei zu haben
um Fehler in Ihrer App einfacher lokal zu beheben. Weitere Informationen finden Sie unten unter Weitere Tasten hinzufügen.
Informationen dazu, wie beide Schlüssel in der Datei assetlinks.json
vorhanden sind.
Es gibt verschiedene Möglichkeiten, den Fingerabdruck zu erhalten. Diese werden in den nächsten Abschnitten erläutert. Sie erhalten in der Regel dieselben Fingerabdrücke, sodass Sie die Methode wählen können, die am besten praktisch sein.
Über die Play Console
Je nachdem, ob Sie die Play App-Signatur aktivieren oder nicht, haben Sie möglicherweise ein oder zwei Schlüssel. Abrufen Den entsprechenden SHA256-Fingerabdruck für jeden Schlüssel:
- Rufe die Play Console auf.
- Wählen Sie die gewünschte App aus.
- Klicken Sie links im Navigationsmenü unter Release auf Einrichten -> App-Integrität.
- Kopieren Sie das SHA256 für den entsprechenden Schlüssel:
Signing key (Signaturschlüssel): Kopieren Sie den SHA256-Fingerabdruck für das Zertifikat für den App-Signaturschlüssel. Dieses Fingerabdruck Ihrer App entsprechen, wenn Sie sie aus dem Google Play Store herunterladen. Google Play vertreibt deine mit dem Signaturschlüssel signierte App.
Uploadschlüssel: Kopieren Sie den SHA256-Fingerabdruck für Zertifikat für Uploadschlüssel. Dieses Fingerabdruck entspricht Ihrer App, wenn Sie ihn lokal installieren (über ADB über USB für ) Dieses APK auf deinem lokalen Computer wurde von Bubblewrap erstellt und daher von den Schlüssel, den er für Sie erstellt hat (während der
init
-Einrichtung). Denken Sie daran, dass dies möglicherweise Signaturschlüssel für Ihre lokal installierte Anwendung, der aber tatsächlich zum Uploadschlüssel wird einmal wenn Sie Ihre App über Google Play veröffentlichen.
Über keytool
keytool ist ein Schlüssel und Tool zur Zertifikatverwaltung. Sie können das Keytool verwenden, um den SHA 256-Fingerabdruck zu extrahieren, der mit das APK oder AAB Bubblewrap generiert hat. Dieser Fingerabdruck gilt für den lokalen Signaturschlüssel. Wenn Sie Ihre App bei Google Play hochladen und sich für Play App Signing anmelden, wird dieser Schlüssel zum Uploadschlüssel.
keytool -printcert -jarfile [path to APK or AAB] | grep SHA256
Über das Asset-Link-Tool
Eine weitere Möglichkeit, die richtige Digital Asset Links-Datei für Ihre App abzurufen, besteht darin, das Asset-Link-Tool zu verwenden:
- Installieren Sie das Asset-Link-Tool aus dem Play Store.
- Laden Sie Ihre App auf demselben Gerät aus dem Google Play Store herunter oder installieren Sie sie lokal.
- Öffnen Sie die Asset-Link-Tool-App. Sie sehen eine Liste aller Apps, die auf Ihrem
Gerät nach Paketnamen. Liste nach der Anwendungs-ID filtern, die Sie zuvor ausgewählt haben
bubblewrap init
und klicke auf diesen Eintrag. - Es wird eine Seite mit der Signatur Ihrer App und einem generierten Digital Asset Link angezeigt. Klicken Sie auf das Über die Schaltfläche „Kopieren“ oder „Teilen“ unten können Sie die Inhalte nach Belieben exportieren (z.B. in Google Notizen speichern, per E-Mail an sich selbst senden.)
Dasselbe gilt für Signatur- oder Uploadschlüssel. Wenn Sie Ihre App über die Google Play Store verwendet haben, ruft das Asset Link-Tool den Fingerabdruck für den Signaturschlüssel Ihrer App ab. Wenn Sie die App direkt von Ihrem lokalen Computer aus installiert haben, ist der Fingerabdruck für den Schlüssel Bubblewrap erstellt.
Zugriff auf die Asset-Link-Datei sicherstellen
Prüfen Sie nach dem Hochladen, ob Sie in einem Browser auf die Asset-Link-Datei zugreifen können.
Prüfen Sie, ob https://example.com/.well-known/assetlinks.json
zu der Datei passt, die Sie gerade hochgeladen haben.
Jekyll-basierte Websites
Wenn Ihre Website von Jekyll generiert wird (z. B. GitHub Pages), müssen Sie eine Zeile
Konfiguration, sodass das Verzeichnis .well-known
in der Ausgabe enthalten ist.
Die GitHub-Hilfe enthält weitere Informationen zu diesem Thema.
Erstellen Sie im Stammverzeichnis Ihrer Website eine Datei mit dem Namen _config.yml
(oder fügen Sie sie hinzu, falls sie bereits vorhanden ist) und
Geben Sie Folgendes ein:
# Folders with dotfiles are ignored by default.
include: [.well-known]
Weitere Schlüssel hinzufügen
Eine Digital Asset Link-Datei kann mehr als eine App enthalten. Für jede App kann sie mehr als einem Schlüssel. Um beispielsweise einen zweiten Schlüssel hinzuzufügen, verwenden Sie einfach die Methode Asset-Link-Tool und fügen ihn als zweiten Eintrag hinzu. Der Code in Chrome, der diese JSON-Datei parst, ist recht streng. Achten Sie daher darauf, nicht versehentlich ein ein zusätzliches Komma am Ende der Liste.
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
},{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
}]
Fehlerbehebung
Chrome protokolliert den Grund, warum die Digital Asset Links-Überprüfung fehlschlägt. Sie können die Protokolle auf einem
Android-Gerät mit adb logcat
.
Wenn Sie unter Linux/Mac entwickeln, können Sie die relevanten Protokolle von einem verbundenen Gerät anzeigen.
durch:
> adb logcat -v brief | grep -e OriginVerifier -e digital_asset_links
Wenn beispielsweise die Meldung Statement failure matching fingerprint.
angezeigt wird, sollten Sie die Methode
Asset Link-Tool, um die Signatur Ihrer App zu sehen und sicherzustellen, dass sie mit der Signatur in assetlinks.json
übereinstimmt
-Datei.