iOS でのユニバーサル リンク、ハンドオフ、および関連ドメインについて、かなりの量の調査を行ってきました。ただし、関連するドメインに関して内部で実際に何が起こっているかについては、多くのドキュメントで詳しく説明されています (ドキュメントを見つけることができませんでした)。
これが私がこれまでに理解していることです:
Universal Links、Hand off、およびSharing Web Credential のドキュメントに基づいて、関連付けられたドメインに関しては次の形式があります。
<service>:<fully qualified domain>[:port number]
したがって、ユニバーサル リンクを使用する場合のサービスはapplinks
. ハンドオフサービスをご利用の場合はactivitycontinuation
. Web クレデンシャルを共有する場合、サービスはwebcredentials
.
アプリがダウンロードされるたびに、apple-app-site-association
ファイルがダウンロードされて電話機に保存され、レジストリが保持されます。たとえば、Universal Links を使用してみましょう。
関連付けられたドメイン セクションにある私のアプリが次のように登録されているとしましょう: applinks:com.example
. ここで、電子メールでリンクを取得してwww.example.com
これを押すと、電話の OS が最初applinks
にデバイスに保存されているすべてのレジストリをチェックし、特定のアプリがcom.example
それに登録されているため、単にルーティングすると仮定します。com.example
関連付けられたドメインを登録した特定のアプリへの URL 。
質問 1:この直感は正しいですか?
この場合、開発者として、独自の Web サービスを作成しても問題はありません。つまりmySpecialService:<Some-Domain>
、私のapple-app-site-association
ファイルには次のようなものがあります。
{
"mySpecialService": {
"apps": [ "D3KQX62K1A.com.example.DemoApp",
"D3KQX62K1A.com.example.DemoAdminApp" ]
}
}
質問 2: 開発者は、関連する独自のドメイン サービスを作成できますか? それとも、関連付けられたドメイン サービスは Apple によって予約されていますか?