web-dev-qa-db-ja.com

Apple-app-site-associationファイルを構成してサーバーにアップロードする

私はiOS開発の初心者です。 ASP.netアプリケーションでiOSアプリにユニバーサルリンクを実装しています。
関連ドメインの下の機能で自分の関連ドメインを定義しました:applinks:www.abcd.com
また、Apple開発者アカウントのアプリIDで構成します。アプリのサイドワークがすべて設定されていると思います。

しかし、Apple-app-site-associationファイルに問題があると思います。

以下のような単純なテキストファイルでjsonを記述しました

{
  "applinks": {
    "apps": [],
    "details": [
    {
      "appID": "8T8932TY.com.AppName”,
      "paths": ["*"]
    }
    ]
  }
}

今ここで行き詰まっています。 iOS 9以上をターゲットにしたアプリケーション。 Apple-app-site-associationという名前のこのファイルの拡張子は何なのか混乱しています。新しい証明書でサインインする必要があるかどうか。そして、それをサーバー側にアップロードする方法。

みんな助けてください。私はこれをたくさん探していますが、満足のいく答えが得られません。

ありがとう

7
Shobhit Agrawal

AppID/AppNameの実際の値で置き換えると、サンプルJSONは正常に見えます。処理するルートを具体的に指定することもできますが、それはあなた次第です。自分のすべてのリンクに対してアプリを開くのではなく、処理できる可能性のあるルートのみを処理する方がユーザーエクスペリエンスが向上します。ドメインが真実でないことが判明した場合、ユーザーを再びSafariに追い出します。

Apple-app-site-associationファイルにはファイル拡張子を付けないでください。また、サイトのルートhttps://example.com/Apple-app-site-associationおよびhttps://example.com/.well-known/Apple-app-site-associationから提供する必要があります。

あなたはiOS 9以降をサポートしていると言います-最初にチェックされる.well-knownルートをチェックする変更はiOS 9.3で行われたので、そのOSの下でサポートしたい場合はファイルを置くのが最善です両方の場所で。詳細は this answer を参照してください。

また、ファイルが正しいMIMEタイプで提供されることも重要です。ユニバーサルリンクの場合は、application/jsonとして提供でき、署名/暗号化する必要はありません。サーバーがファイル拡張子からMIMEタイプを判別するため、Webサーバーの設定に慣れていない場合、正しいMIMEタイプでサービスを提供するのは少し面倒です。 iOSはURLを拡張子でチェックせず、(IIRC)リダイレクトは許可されないため、これを使用して偽ることはできないため、拡張子を付けることはできません。

以上が、達成しようとしていることの要約ですが、その方法は、使用しているWebサーバーによって異なります。 ASP IISである可能性が高いアプリの場合、この場合 この質問とその回答 は、Webサーバーを正しく設定するのに役立ちます。アップロードする方法の詳細そのサーバーのルートへのファイルは、それをどのように構成したかに大きく依存します。

15
Josh Heald

これには拡張子がありませんApple-app-site-associationファイル。これは単なるプレーンファイルです。ドメインのトップレベルでホストする必要があります。つまり、ファイルの場所はhttps://www.abcd.com/Apple-app-site-associationホストすると、このリンクを使用して確認/検証できます https://branch.io/resources/aasa-validator/

詳細については、次を参照してください: https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-Apple-ios-9/

6
Vasanth