Flutter: Deep linky a otevření aplikace naskenováním QR kódu
V tomto článku se zaměříme jak jde naskenováním QR kódu, který obsahuje URL, otevřít nainstalovanou mobilní aplikaci, která je naprogramovaná ve Flutteru. Zaměříme se na operační systém iOS.
Stává se úplně běžně, že původně zamýšlená funkcionalita v mobilní nebo webové aplikaci je nedostatečná nebo ji uživatel nepochopí úplně správně a nezvládne ji používat tak jak se původně zamýšlelo. Toto se přihodilo i jednomu našemu klientovi s aplikací, co pro něho vyvíjíme. Celá aplikace je napsaná ve Flutteru. V aplikaci máme QR kódy. A kromě přenesení informace bylo nově potřeba doprogramovat i automatické otevírání aplikace při skenování, pokud už je aplikace nainstalovana. A když aplikace nainstalovaná nebude, tak ať se otevře web klienta.
Jak tedy upravit nastavení aplikace pro její otevírání po naskenování QR kódu?
V prvním kroku je potřeba se přihlásit do Apple developer účtu, kde se v nastavení identifikátoru aplikace povolí funkce Associated Domains. Následně otevřít projekt v Xcode. V záložce Signing & Capabilities přidat Capability Associated Domains a provést nastavení této položky. To se provede tak, že se vyplní odkazová doména, která je uvnitř QR kodu a to v následujícím tvaru applinks:domena.com. Protože nastavujeme tzv. universální linky, je potřeba aby doména ukrytá uvnitř QR kódu měla zabezpečení pomocí HTTPS. Toto nastavení se propíše do souboru Runner.entitlements. Posledním krokem v mobilní aplikaci je povolení deep linků v aplikaci. To se provede tak, že se do souboru Runner/Info přidá FlutterDeepLinkingEnabled s Boolean hodnotou YES.
Následně je potřeba provést konfiguraci ještě na serveru, kam doména odkazuje. Do root složky webového serveru, případne do skryté složky well-known je potřeba přidat json soubor, který se jmenuje apple-app-site-association. Soubor je bez koncovky json a vypadá následovně:
{ "applinks": { "apps": [], "details": [ { "appID": "<TEAM_ID>.<BUNDLE_ID>", "paths": ["*"] } ] } }
Projevení účinnosti tohoto souboru není okamžité a trvá několik hodin. Současně je potřeba ověřit, zda je Váš soubor dostupný na odkazovaný domené z prohlížeče.
Pokud uvažujete o vývoji mobilní aplikace, tak nás neváhejte kontaktovat. Rádi Vám s realizací projektu pomůžeme.
Mohlo by Vás zajímat:
- Jak telefon rozpozná otisky prstů?
- Výběr vhodného nástroje pro programování mobilní aplikace
- Jaký je rozdíl mezi webem a webovou aplikací?