こんにちは!
本記事は、iOS開発における非常に便利な機能、Universal Linksとその設定ファイルapple-app-site-associationについて説明します。
これらの機能を使えば、あなたのアプリとウェブサイトがシームレスに連携できます。
Universal Linksとは?
Universal Links(ユニバーサルリンク)とは、iOS 9以降で利用可能な機能です。
ユーザーがウェブリンクをタップしたときに、そのリンクがあなたのアプリと関連付けられていれば、そのアプリを直接開くことができます。
これにより、ユーザーにとってアプリとウェブサイトの間の移動がスムーズになります。
出典:https://8vivid.net/whats-url-scheme/
apple-app-site-associationとは?
それでは、どのようにしてウェブサイトとアプリを関連付けるのでしょうか?
ここでapple-app-site-associationが登場します。これはJSON形式のファイルで、あなたのウェブサイトのドメインと、あなたのアプリがどのようなURLパスを処理できるかを定義します。
例えば、以下のような内容のapple-app-site-associationファイルを作成します:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "D3KQX62K1A.com.example.app",
"paths": [ "/content/*", "/user/*/profile"]
}
]
}
}
ここでは、appID
はあなたのApple開発者チームIDとアプリのバンドルIDを組み合わせたものになります。そして、paths
にはあなたのアプリが処理できるウェブサイトのパスを指定します。
このファイルを作成したら、ウェブサーバーのルートディレクトリか.well-known
サブディレクトリにアップロードします。
apple-app-site-associationの設定がもたらす効果
apple-app-site-associationファイルを適切に設定し、あなたのサーバーにアップロードすると、それによりiOSデバイスは特定のリンクがあなたのアプリと関連付けられていることを認識します。
具体的には、このファイルに定義されているパスのリンクをユーザーがタップしたとき、そのリンクはブラウザではなくあなたのアプリで開かれます。もしアプリがインストールされていない場合は、リンクは通常通りブラウザで開かれます。
たとえば、もし/content/*
や/user/*/profile
といったパスをapple-app-site-associationファイルに指定している場合、それらのパスにマッチするURL(例:https://yourwebsite.com/content/article1
)がメールやウェブページにあるとき、そのリンクをユーザーがタップすると直接アプリが開きます。
この挙動は、ウェブサイトとアプリの間の移動をスムーズにし、ユーザー体験を向上させます。
例えば、あなたのウェブサイトのコンテンツをアプリ内で最適化したビューで表示したい、あるいはアプリ内で特定のアクションを起動したいといった場合に非常に有効です。
まとめ
apple-app-site-associationファイルを設定することによって、ウェブリンクとアプリの間にシームレスな連携を作ることができます。
ユーザー体験を向上させるため、ぜひ活用してみてください。