ユニバーサルリンク
普通の HTTPS アドレスでありながら、アプリが入っていればアプリを開き、なければ Web ページを開く。ユーザーは違いに気づかない。
独自 URI スキームを使うディープリンクとの違いは検証である。開発者はドメイン上に、どのアプリがどのパスを開けるかを列挙したファイルを置く。iOS では apple-app-site-association、Android では assetlinks.json だ。OS はインストール時にそのファイルを取得して確認する。
これでハイジャックの問題が解決する。他のアプリがあなたのドメインの所有者を名乗ることはできない。しかもアドレスは本物の Web URL なので、アプリがない環境も含め、どこでも動く。代償は、設定にドメインへのアクセスと正しいサーバー設定が必要なことだ。Content-Type が間違っているだけで、黙って動かなくなる。