Dynamic Links ってなに?
Web ページの URL を開こうと思いきや、いつの間にかアプリが開いているっていうあれです。Amazon のアプリをインストールしてると、Amazon のサイトの商品を表示しようとしたらアプリが開いてる事あると思うんですけど、あんな感じのことが簡単に実現できます。iOS/Android とプラットフォームをまたがって利用できるので便利ですね。
アプリが開けなくなる現象ってなに?
以下 iOS の話です。
Dynamic Links を使うと、Firebase のコンソールでで設定してリンクを発行してもらえます。この URL を開くとアプリが開いたり AppStore が開いたり切り分けしてくれるわけですね。
で、なんかいまの段階で設定が足りてないのかどうか知りませんけど、たとえばアプリからアプリを開くと左上に Safari に戻る
みたいなリンクが出るじゃないですか? で、Dynamic Links 経由でアプリを開くいた場合、左上に Safariに戻る
右上に goo.gl
というのがでるんですよ。
Dynamic Links で開くとこうなる |
そんでもってうっかり右上の goo.gl
をタップするとハマります。アプリがインストールされていても、Dynamic Links 経由のリンクが AppStore にしか遷移しなくなります。アプリを再インストールしたり再起動したりクッキー消したりしてもダメ。詰んだ。
どうやって解決するのか
Dynamic Links の URL が https://app_code.app.goo.gl/u9DC
だった場合、Safari で https://app_code.app.goo.gl
にアクセスします。そうすると 400 That's an error とか Google のロゴが表示されるんだけど、無視して画面をスクロールします。するとあら不思議、画面の上にあなたのアプリを開くリンクが表示されるんですね。これをタップしたら復活します。
スクロールするとこうなる |
いやあ、よかったよかった。結構難しいもんですね。
なんでこうなん?
iOS の場合は Dynamic Links の裏側の仕組みは Universal Links を使ってて、その Universal Links の仕様です。
あんまりちゃんと調べてないのだけど、Universal Links の動きはここのサイトがわかりやすかったです。