apple-app-site-association と assetlinks.json の生成ツール
アプリの識別子を入力すると、両方のファイルをチェック済みの状態で作成します。そのままコピーまたはダウンロードできます。
仕組み
- iOS の欄、Android の欄、またはその両方を入力します。各項目は生成時にチェックされます。
- ファイルは、Apple と Google が公開している現行の形式でブラウザ内で作成されます。
- リンクのドメインの /.well-known/ にアップロードし、バリデーターで確認してください。
Apple から必要なもの
Team ID:英数字 10 文字で、Apple Developer アカウントの「メンバーシップの詳細」に表示されます。バンドル ID:com.example.app のような形式で、Xcode または App Store Connect で確認できます。ファイル内のアプリ ID は、この 2 つをドットでつないだものです。
パスは、どのリンクでアプリを開くかを決めます。「/*」はドメイン上のすべてのリンク、「/promo/*」は /promo 以下のリンクだけです。行頭に NOT を付けると除外になります。iOS は最初に一致したルールを使うため、除外はそれが切り出す対象のルールより前に置く必要があります。
Google から必要なもの
パッケージ名(applicationId)と、ユーザーがインストールするビルドに署名するすべての証明書の SHA-256 フィンガープリントです。Google Play App Signing を使っている場合は Play Console の「アプリの完全性」からコピーし、自分のキーストアなら keytool -list -v で表示できます。
フィンガープリントはコロン区切りの 16 進数 32 組です。生成ツールはコロンの有無や大文字・小文字を問わず受け付け、Android が求める形式で書き出します。
ファイルの公開
apple-app-site-association(拡張子なし)と assetlinks.json を、リンクが使う正確なホストの /.well-known/ フォルダに置き、HTTPS で、リダイレクトなしに、application/json として配信します。
次にアプリでドメインを宣言します。iOS では Associated Domains に「applinks:」とホストを、Android ではそのホストに対して android:autoVerify="true" を指定したインテントフィルタを追加します。リンクは、それを含むビルドをユーザーがインストールした後に機能します。
SetLinks のリンクならホスティングは不要です。同じ識別子をリンクに入力すれば SetLinks がファイルを公開します。iPhone 用は setlinks.io または独自ドメインで、Android 用は独自ドメインで公開されます。
よくある質問
apple-app-site-association ファイルとは何ですか?
ドメイン上のどのリンクをどのアプリが開けるかを iOS に伝える JSON ファイルです。これがないと、Universal Links は Safari で開きます。
assetlinks.json とは何ですか?
Google の Digital Asset Links ファイルです。パッケージ名と署名証明書で識別される、どの Android アプリが、ドメイン上のリンクを検証済みの App Links として開けるかを記述します。
AASA ファイルに .json 拡張子は必要ですか?
いいえ。拡張子なしで apple-app-site-association という名前にする必要があり、それでも application/json のコンテンツタイプで配信します。
ひとつのファイルに複数のアプリを記載できますか?
はい。アプリごとにエントリを生成し、details 配列(iOS)またはステートメントの配列(Android)をひとつのファイルにまとめてください。
入力した識別子はどこかに送信されますか?
いいえ。ファイルはブラウザ内で生成されます。
ほかの無料ツール
- App Store と Google Play の QR コード作成
- App Store と Google Play のリンク作成
- スマートリンクのリダイレクトテスト
- Universal Links と App Links のバリデーター
すべてのストアにひとつのリンクと QR コード
SetLinks は訪問者をそれぞれのストアへ送り、すべてのクリックを集計します。無料で始められます。
スマートリンクを作成