pátek 6. srpna 2021

 PWA aplikace: uživatelské nastavení jména a ikony před instalací

To máte tak: mám rád webové/mobilní aplikace a obzvlášť ty PWA. Jak z pohledu uživatele tak i z pohledu vývojáře.

Jako uživatel již naprogramované PWA aplikace nemůžu nijak ovlivnit její název a ikonu, které se použijí při instalaci na tabletu/telefonu s Androidem a zobrazí se na ploše (domovské obrazovce).

Existuje dost dotazů na diskuzních fórech vývojářů, zda a jak je možné některé parametry (aspoň ikonu) nastavit dynamicky. Možné to je, a jde to slušně v případě generování souborů na webu.

Ovšem, pokud máme stránky na servru ve statické podobě, tj. již vygenerované, nejde to. Nebo velmi, velmi komplikovaně.

Podíval jsem se tomuhle problému na zoubek, vyšel jsem z práce a zkoumání předních vývojářů a hle: dal jsem dohromady funkční postup, jak toho docílit.

Postup je vlastně určen pro vývojáře, protože ten musí tyto kroky implementovat, aby následně nabídl tuto možnost uživateli.

Stačí tři kroky:
  • vytvořit formulář, ve kterém si uživatel nastaví hodnoty dle svých preferencí (jméno aplikace a její ikonu)
  • získání těchto hodnot JS skriptem a předání jako parametry v url adrese PWA aplikaci (na kterou se přesměruje)
  • v PWA aplikaci se nejprve tyto parametry použijí v JSON objektu a ten se pak injektuje jako manifest.json v PWA aplikaci
Zní to složitě? Možná, ale nic na tom není, implementace je opravdu jednoduchá. Publikoval jsem k tomuto tématu článek, kde je vše vysvětleno včetně odkazu na funkční řešení: