Wenn ein Nutzer Ihre PWA installiert, benötigt der Browser eine Methode, um
der PWA. Bis vor Kurzem wurde in der Manifestspezifikation der Web-App aber nicht explizit darauf hingewiesen,
eine Methode definieren, mit der eine PWA eindeutig identifiziert werden kann, sodass der Browser entscheiden kann,
was zu unterschiedlichen
Implementierungen führt. In einigen Browsern zeigt der start_url
während in anderen der Pfad zur Manifestdatei verwendet wird,
keines dieser Felder aktualisiert werden kann.
Um dieses Problem zu lösen, gibt es in der Web-App eine neue optionale id
-Property.
Manifest-Spezifikation, mit der Sie die für die Anzeige
verwendete ID explizit definieren können,
Ihre PWA. Durch Hinzufügen des Attributs id
zum Manifest wird die Abhängigkeit von
das start_url
oder den Speicherort des Manifests und ermöglicht
in Zukunft aktualisiert werden.
Was bewirkt die Eigenschaft id
?
Das Attribut id
stellt die Identität der PWA für den Browser dar. Wann?
erkennt der Browser ein Manifest, das keine Identität besitzt, die mit einer
eine bereits installierte PWA verwendet, wird sie als neue PWA behandelt, auch wenn sie bereitgestellt wird.
über dieselbe URL wie eine andere PWA. Aber wenn es ein Manifest mit einer Identität sieht,
die mit der bereits installierten PWA übereinstimmt, wird sie als installierte PWA behandelt.
Unterstützte Browser
Die Property „id
“ wird jetzt in Chrome 96 unterstützt.
Was mache ich, wenn ich eine App ohne id
habe?
Sie müssen nichts tun und nichts geht kaputt, wenn Sie
Füge deinem Web-App-Manifest kein id
hinzu, solange start_url
und
bleibt der Manifestpfad unverändert). Um Ihre PWA zukunftssicher zu machen, können Sie
eine id
-Property in dein Web-App-Manifest ein.
Wie lege ich mein id
fest und lege es fest?
Die sicherste und genaueste Methode, um die id
für eine PWA zu ermitteln
den von Chrome berechneten Wert.
- Öffnen Sie in Chrome 96 oder höher das Bereich Manifest des Bereichs Anwendung in den Entwicklertools.
- Bewegen Sie den Mauszeiger auf das Symbol
(!)
neben der Property App-ID. Die Das Kurzinfosymbol(!)
wird nur angezeigt, wennid
nicht in die Manifest-Datei der Web-App. - Notieren Sie sich den
id
-Wert, der in der Kurzinfo angezeigt wird (siehe Screenshot unten). - Fügen Sie dem Web-App-Manifest eine
id
-Property hinzu. Verwenden Sie dazu denid
-Wert, der in die Kurzinfo.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
Was ist, wenn ich keinen id
festlege?
Keine Sorge, nichts geht kaputt. Ab Chrome 96 werden die
Der Browser generiert ein id
, falls im Manifest keines angegeben ist.
basierend auf dem start_url
im Web-App-Manifest.
Wenn du dem Web-App-Manifest ein id
hinzufügst,
um die start_url
und den Manifestpfad zu ändern (wenn und nur
origin bleibt gleich!),
weil der Browser
die PWA basierend auf dem angegebenen id
und nicht anhand des start_url
- oder
Manifest-Pfad.
Wie kann ich das testen?
So testen Sie das Verhalten: diese Schritte:
- Installieren Sie die PWA.
- Öffne
about://web-app-internals/
und prüfeunhashed_app_id
undstart_url
für die installierte PWA. - Fügen Sie Ihrem Web-App-Manifest eine
id
-Property hinzu. Folgen Sie dazu den Schritten in Wie ermittle und lege ich meineid
fest oben? - Starten Sie den Browser mit
chrome://restart
neu, starten Sie die PWA überabout://apps
und schließen Sie dann die PWA, um die Aktualisierung der Manifestdatei zu erzwingen. - Öffne
about://web-app-internals/
und prüfe das Attributmanifest_id
auf um zu prüfen, ob sie sich nicht geändert hat. - Ändere den
start_url
im Manifest der Web-App. - Starten Sie den Browser mit
chrome://restart
neu, starten Sie die PWA überabout://apps
und schließen Sie dann die PWA, um die Aktualisierung der Manifestdatei zu erzwingen. - Öffne
about://web-app-internals/
und prüfe das Attributstart_url
auf um zu prüfen, ob sie wie erwartet aktualisiert wurde.