iOS でユニバーサルリンクを有効にし、Android でアプリリンクを有効にするには、Web サーバーに 2 つの特定の JSON ファイルをホストする必要があります。

iOS でユニバーサルリンクを有効にし、Android でアプリリンクを有効にするには、Web サーバーに 2 つの特定の JSON ファイルをホストする必要があります。

Intermediate

iOS でユニバーサルリンクを有効にし、Android でアプリリンクを有効にするには、Web サーバーに 2 つの特定の JSON ファイルをホストする必要があります。

  1. iOS 用 apple-app-site-association (AASA): このファイルは、Web サイト上のどのパスが iOS アプリによって処理されるべきかを iOS に伝えます。
  2. Android 用 assetlinks.json: このファイルは、Web サイト上のどのパスが Android アプリによって処理されるべきかを Android に伝えます。

これらのファイルを正しく提供することは、ディープリンクがシームレスに機能するために不可欠です。

1. iOS 用 apple-app-site-association (AASA) ファイルのホスティング

  • ファイルの内容: AASA ファイルは、Web サイトのパスをアプリにマッピングする JSON ファイルです。一般的な構造は次のようになります。

    json { "applinks": { "apps": [], "details": [ { "appID": "TEAM_ID.com.yourcompany.yourapp", "paths": [ "/app/*", "/links/to/content/*", "*" ] } ] } } * TEAM_ID.com.yourcompany.yourapp を、アプリのユニークな識別子(チーム ID とアプリのバンドル ID)に置き換えてください。 * paths 配列は、Web サイト上のどの URL パスがアプリによって処理されるべきかを指定します。 "*" はすべてのパスを意味します。

  • ホスティング要件:

    • 場所: ファイルは、ドメインのルートまたは .well-known ディレクトリにホストする必要があります。例:
      • https://yourdomain.com/.well-known/apple-app-site-association
      • https://yourdomain.com/apple-app-site-association (現在はあまり一般的ではありません)
    • HTTPS: ファイルは HTTPS 経由で提供する必要があります。
    • MIME タイプ: Content-Type ヘッダーは application/json または application/json; charset=utf-8 である必要があります。
    • リダイレクトなし: AASA ファイル自体はリダイレクトされるべきではありません。
  • 検証: iOS デバイスは、アプリがインストールされるときにこのファイルをダウンロードします。Apple Validation Tool を使用してアクセス可能性をテストするか、Safari で URL にアクセスするだけでテストできます。

2. Android 用 assetlinks.json ファイルのホスティング

  • ファイルの内容: assetlinks.json ファイルには、アプリとその関連付けられた Web サイトに関する情報が含まれています。

    json [ { "relation": [ "delegate_permission/common.handle_all_urls" ], "target": { "namespace": "android.app", "package_name": "com.yourcompany.yourapp", "sha256_cert_fingerprints": [ "YOUR_APP_SHA256_FINGERPRINT" ] } } ] * com.yourcompany.yourapp をアプリのパッケージ名に置き換えてください。 * YOUR_APP_SHA256_FINGERPRINT をアプリの署名証明書の SHA256 フィンガープリントに置き換えてください(キーストアまたはビルドツールから取得できます)。

  • ホスティング要件:

    • 場所: ファイルは https://yourdomain.com/.well-known/assetlinks.json にホストする必要があります。.well-known パスは必須です。
    • HTTPS: ファイルは HTTPS 経由で提供する必要があります。
    • MIME タイプ: Content-Type ヘッダーは application/json または application/json; charset=utf-8 である必要があります。
  • 検証: Android デバイスは、このファイルを確認して関連付けを検証します。Google Asset Link API Validator を使用して assetlinks.json ファイルを確認できます。

3. サーバー構成のベストプラクティス

  • 静的ファイル提供: Web サーバー (例: Nginx、Apache、またはクラウドプロバイダーの静的ホスティングサービス) を構成して、これらの JSON ファイルを直接提供します。
  • キャッシング: これらのファイルのキャッシングには注意してください。キャッシングはパフォーマンスを向上させることができますが、アプリや Web サイトの関連付けを更新した場合、変更の伝播を遅らせる可能性もあります。これらの特定のファイルに対して短いキャッシュ期間を設定するか、キャッシングを無効にすることがよく推奨されます。
  • コンテンツタイプ: 正しい Content-Type ヘッダーが設定されていることを確認してください。
  • アクセス可能性: これらのファイルが認証なしで公開アクセス可能であることを確認してください。

これらの関連ファイルが正しくホストされることで、ユニバーサルリンクとアプリリンクが有効になり、ユーザーによりスムーズで統合されたエクスペリエンスを提供できます。