ユニバーサル リンクをサポートするアプリケーションがあり、現在アプリ ストアにあります。
ドメイン www.example.com をサポートしているため、これを介してユニバーサルリンクを簡単に開くことができるとします。関連するドメインに applinks:www.example.com があります。
別のアプリをリリースしたい場合、それも同じドメインをサポートしています。さて、iOS はどのアプリをユニバーサル リンク経由で開くかをどのように区別しますか?
ユニバーサル リンクをサポートするアプリケーションがあり、現在アプリ ストアにあります。
ドメイン www.example.com をサポートしているため、これを介してユニバーサルリンクを簡単に開くことができるとします。関連するドメインに applinks:www.example.com があります。
別のアプリをリリースしたい場合、それも同じドメインをサポートしています。さて、iOS はどのアプリをユニバーサル リンク経由で開くかをどのように区別しますか?
2 つの異なるアプリで単一ドメインをサポートするには、既存のファイル (https://{domain}/apple-app-site-association)Universal Links
を変更する必要があります。apple-app-site-association
単一のアプリケーションをサポートする場合は、次のようになります
{
"applinks": {
"apps": [],
"details": [
{
"appID": "1234ABCDE.com.domain.myapp",
"paths": ["*"]
}
]
}
}
複数のアプリケーションをサポートするには、 inのdetails
配列にもう 1 つのキーと値のペアを追加する必要があります。こんな感じですapplinks
apple-app-site-association
{
"applinks": {
"apps": [],
"details": [
{
"appID": "1234ABCDE.com.domain.myApp",
"paths": ["*"]
},
{
"appID": "1234ABCDE.com.domain.mySecondApp",
"paths": ["*"]
},
{
"appID": "1234ABCDE.com.domain.myThirdApp",
"paths": ["*"]
}
]
}
}
apple-app-site-association
ファイルの一般的なフォーマットファイルは次のようになります。
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "{app_prefix}.{app_identifier}",
"paths": [ "/path/to/content", "/path/to/other/*", "NOT /path/to/exclude" ]
},
{
"appID": "TeamID.BundleID2",
"paths": [ "*" ]
}
]
}
}
私は解決策を見つけましたが、それはかなり簡単です。私の問題は、最初のアプリがすべてのページをサポートしていたことです。
「*」は、apple-app-site-association ファイルのパス セクションにあります。あとは、2 番目のアプリで処理したいパスの 1 つの前に NOT を追加するだけです。
「NOT /cabs」のように。これが機能するかどうかはまだテストしていません。更新が完了したらすぐに投稿します。