モバイルアプリとウェブサイトがあります。ユーザーは、Web サイト内のページへのリンクが記載された電子メールを受け取ります。iOS ユニバーサル リンクと Android アプリ リンクを使用して、モバイル アプリを Web サイトに関連付けます。
メールのリンクがhttps://abc/ticket/1234だとしましょう。ユーザーがリンクをタップすると、モバイル アプリで関連するページが開きます。ユーザーは、そのモバイル ページのボタンをタップすることで、Web サイトの同じコンテンツを開くことができます。Web サイトの関連ページを開きます。URL https://abc/ticket/1234を直接開くことはありません。これは、ユーザーが最初に IDP を介して認証され、次に正しいページにリダイレクトされたためです。URL はhttps://abc.idp?token=xyz&redirect=https://abc/ticket/1234のようなものです。
これが問題です。
- ユーザーは、メール内のリンクhttps://abc/ticket/1234をタップします。
- モバイル アプリのページが開きます。
- ユーザーは、モバイル ページで [ポータルで開く] ボタンをタップします。
- https://abc.idp?token=xyz&redirect=https://abc/ticket/1234がブラウザーで開きます。(これは、ユーザーが最初に IDP を介して認証される必要があるためです。)
- 数秒後、ユーザーは認証され、ブラウザはhttps://abc/ticket/1234にリダイレクトされます
- モバイルアプリが再び開かれる <--- これは望ましくありません。ブラウザ自体で開く必要があります。
要するに、
同じリンクからアプリを開くかブラウザを開くかを OS に伝える必要があります。
URL https://abc/ticket/1234?do_not_open_mobile_app=trueで追加パラメーターを渡すことを考えましたが、apple-app-site-association ファイルで URL 比較にクエリ パラメーターを使用することはできません。次に、IDP のディープ リンクも有効にしようとしましたが、Android では正常に機能しましたが、iOS では機能しませんでした。
ご意見をお待ちしております。