Wanneer de gebruiker uw PWA installeert, heeft de browser een manier nodig om de PWA op unieke wijze te identificeren. Maar tot voor kort definieerde de manifestspecificatie van de webapp niet expliciet een manier om een PWA uniek te identificeren, waardoor browsers de beslissing namen en tot verschillende implementaties leidden. In sommige browsers wordt de start_url
gebruikt, terwijl in andere het pad naar het manifestbestand wordt gebruikt, waardoor het onmogelijk wordt om een van deze velden bij te werken.
Om dit probleem op te lossen, is er een nieuwe optionele id
eigenschap in de manifestspecificatie van de web-app, waarmee u expliciet de ID kunt definiëren die voor uw PWA wordt gebruikt. Door de eigenschap id
aan het manifest toe te voegen, wordt de afhankelijkheid van de start_url
of de locatie van het manifest opgeheven, en wordt het mogelijk dat deze in de toekomst worden bijgewerkt.
Wat doet de eigenschap id
?
De id
-eigenschap vertegenwoordigt de identiteit van de PWA voor de browser. Wanneer de browser een manifest ziet dat geen identiteit heeft die overeenkomt met een reeds geïnstalleerde PWA, zal hij dit behandelen als een nieuwe PWA, zelfs als het wordt aangeboden vanaf dezelfde URL als een andere PWA. Maar als het een manifest ziet met een identiteit die overeenkomt met de reeds geïnstalleerde PWA, zal het dat behandelen als de geïnstalleerde PWA.
Browser-ondersteuning
Ondersteuning voor de id
eigenschap is in Chrome 96 terechtgekomen.
Wat moet ik doen als ik een app zonder id
heb?
U hoeft niets te doen en er gaat niets kapot als u geen id
toevoegt aan uw webapp-manifest (zolang de start_url
en het manifestpad hetzelfde blijven). Om uw PWA toekomstbestendig te maken, kunt u een id
eigenschap toevoegen aan uw web-app-manifest.
Hoe bepaal en stel ik mijn id
in?
De veiligste en meest nauwkeurige manier om de id
voor een PWA te bepalen, is door de door Chrome berekende waarde te controleren.
- Als u Chrome 96 of hoger gebruikt, opent u het paneel Manifest van het paneel Applicaties in DevTools.
- Er verschijnt een opmerking onder de eigenschap Berekende app-id als de
id
niet is opgegeven in het manifestbestand van de web-app. - Kopieer de
id
waarde die in de notitie wordt weergegeven (zie onderstaande schermafbeelding). - Voeg een
id
eigenschap toe aan het web-app-manifest met behulp van deid
waarde die in de notitie wordt weergegeven.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
Wat moet ik doen als ik geen id
instel?
Maak je geen zorgen, er zal niets kapot gaan . Vanaf Chrome 96 genereert de browser een id
als er geen in het manifest staat, op basis van de start_url
in het manifest van de webapp.
Het toevoegen van een id
aan het manifest van de webapp maakt het mogelijk om de start_url
en het manifestpad te wijzigen (als en alleen als hun specifieke oorsprong hetzelfde blijft!), omdat de browser de PWA zal identificeren op basis van de opgegeven id
, in plaats van de start_url
of manifest pad.
Hoe test ik dit?
Volg deze stappen om het gedrag te testen:
- Installeer de PWA.
- Open
about://web-app-internals/
en controleer de eigenschapmanifest_id
enstart_url
voor de geïnstalleerde PWA. - Voeg een
id
eigenschap toe aan uw web-app-manifest door de stappen te volgen in Hoe bepaal ik mijnid
hierboven en stel deze in . - Start de browser opnieuw met
chrome://restart
, start de PWA vanafabout://apps
en sluit vervolgens de PWA om het manifestbestand te dwingen te vernieuwen. - Open
about://web-app-internals/
en controleer de eigenschapmanifest_id
voor de geïnstalleerde PWA om te controleren of deze niet is gewijzigd. - Wijzig de
start_url
in het web-app-manifest. - Start de browser opnieuw met
chrome://restart
, start de PWA vanafabout://apps
en sluit vervolgens de PWA om het manifestbestand te dwingen te vernieuwen. - Open
about://web-app-internals/
en controleer de eigenschapstart_url
voor de geïnstalleerde PWA om te controleren of deze zoals verwacht is bijgewerkt.