ユニバーサルリンクのための apple-app-site-association ファイルを準備する

iOS 9 から導入されたユニバーサルリンクを実装するために、アプリケーションが扱う URL を含んだ apple-app-site-association ファイルを作成して、URL のドメインのルート (トップ) にアップロードする必要があります。

apple-app-site-association ファイルの作成ステップは次のとおりです。

  1. 関連付けのルールを記載した JSON 形式のファイルを作成する。
  2. 作成した JSON ファイルを SSL 証明書で署名した apple-app-site-association ファイルを作成する。
  3. apple-app-site-association ファイルをドメインのルートにアップロードする。

* 関連付けをするウェブサイトが HTTPS に対応している場合は、apple-app-site-association に署名をする必要がありません。

関連付けのルールを記載した JSON 形式のファイル

関連付けのルールを記載した JSON 形式のファイルのフォーマットは次のとおりです。

{
  "applinks": {
    "apps": [],
    "details": {
      "Team ID.Bundle Identifier": {
        "paths": ["*"]
      }
    }
  }
}

ここで、Team ID.Bundle Identifier は、ユニバーサルリンクを利用するアプリの Team ID と Bundle Identifier をドットで繋いだ文字列になります。Team ID は Apple Developer Center で確認することができます。

関連付けをするウェブサイトが HTTPS に対応している場合は、apple-app-site-association というファイル名で保存します。

HTTPS に対応していない場合は、次のステップでファイルに署名をします。

SSL 証明書で署名する

署名には Apple が信頼する認証局が発行した SSL 証明書が必要です。そこで iOS アプリの開発に使用する証明書を利用します。

  1. キーチェーンアクセスを起動して、iPhone Distribution 用の SSL 証明書 (certificate.p12) を書き出します。
  2. コマンドプロンプトで秘密キーを作成します。
    openssl pkcs12 -in certificate.p12 -out certificate.key -nocerts
  3. コマンドプロンプトで証明書を作成します。
    openssl pkcs12 -in certificate.p12 -out certificate.pem -nodes -clcerts -nokeys
  4. コマンドプロンプトで JSON ファイルを署名します。
    cat 作成した JSON ファイル | openssl smime -sign -inkey certificate.key -signer certificate.pem -certfile certificate.pem -noattr -nodetach -outform DER > apple-app-site-association

apple-app-site-association ファイルのアップロード

作成した apple-app-site-association ファイルをユニバーサルリンクで関連付けるウェブサイトのルートにアップロードします。

次に apple-app-site-association ファイルがアクセスされたとき、Content-Type ヘッダーが application/pkcs7-mime になるよう、ウェブサイトのルートにある .htaccess ファイルに次の行を追記します。

<Files "apple-app-site-association">
	Header set Content-Type "application/pkcs7-mime"
</Files>

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です