👏

Universal Linksで除外設定をしたい

に公開

Universal Linksを使うと、iOSアプリをWebサイトのURLと紐づけて、そのサイトに遷移したらアプリが開くように設定できます。
ちょっと僕もディープリンクとかURL SchemeとかUniversal Linksとかがちゃんと整理できてないので、その辺知りたい方は↓この辺の記事をご参照ください。

https://engineering.mercari.com/blog/entry/20220224-deeplink-for-mercari-shops/
https://qiita.com/mono0926/items/2bf651246714f20df626

この記事は除外設定のやり方だけを書きます。

やりたいこと

たとえば、ZennのiOSアプリで、Universal Linksの設定をしたとします。
https://zenn.dev」 をスマホのブラウザで開くと、アプリが起動するようにできた、とします。
しかし、「https://zenn.dev/about 」のページは、アプリで開かずに、Webブラウザで処理させたいよ、みたいな要件が発生しました。

最初、アプリ起動して、ブラウザに戻すみたいな処理にしないといけないかと思ったんですが、
除外設定できることを教えてもらったので、それについて書きます。

除外方法

Universal Linksの設定のために、Web側に apple-app-site-association というファイルを置いてると思います。
ここを編集します。

こんな感じの指定になっているかと思います。

applinks:
  appID: 'xxx.zenn.dev'
  paths:
    - "*"

※古い記法です。最新の記法は次章の記事を見てください。

こちらのpathsに除外指定ができます。

applinks:
  appID: 'xxx.zenn.dev'
  paths:
    - "NOT /about" // <- ここ
    - "*"

この指定で、'/about'のアプリ起動除外ができます。

ワイルドカードと?も使えるとのことです。

最新のapple-app-site-associationの記法

https://qiita.com/toya108/items/73e4c683c78c9a4aa3d8

(了)

Discussion