3

example.com と ex.co という 2 つのドメインがあるとします。

example.comでiOS 9用の Universal Links を構成しましたが、私のapple-app-site-associationファイルは署名されておらず、次のようになっています。

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "JUSTEXAMPLE.com.example.app",
        "paths": [
          "link/example*"
        ]
      }
    ]
  }
}

私のアプリケーションにもcom.apple.developer.associated-domainsエントリがあります-applinks:example.com

クリックするとすべて正常に動作しますexample.com/link/example?param=value(アプリが開きます)


しかし、私は次のことをしたい:

  1. ユーザーが ex.co/abc をタップ
  2. ユーザーは、場所として example.com/link/example?param=value を使用して 301 ヘッダー (永続的なリダイレクト) を取得します
  3. アプリが開き、誰もが幸せです

1 番目と 2 番目は正常に実行されますが、3 番目では空白のページしか表示されず、上部に「このページをアプリで開きますか?」などの小さなバナーが表示されます。大きな「OPEN」ボタン

PS : どちらの Web サイトも有効な HTTPS を使用しています

PPS : ex.coapple-app-site-associationを作成できません。さまざまなアプリのexample.comのさまざまなページにリダイレクトされる短いリンクが多数あるためです。

4

1 に答える 1

2

iOS 上の Safari (9...来週何が起こるかは誰にもわかりません!) は、ユーザーが実際に URL を開くために特定のアクションを実行した場合にのみ、ユニバーサル リンクに応答します。これはわずかな一般化ですが、基本的には適切なガイドラインです。301 リダイレクトは対象外であるため、アプリが開かないのです。

使用できる回避策 ( Branch.ioex.coで採用) は、ドメイン上の各アプリに一意のパス セグメントを使用することです( の代わりに を使用ex.co/abcしますex.co/uniqueappid/abc)。uniqueappid次に、アプリごとに個別に基づいてユニバーサル リンクをトリガーできます。

于 2016-06-11T05:56:49.407 に答える