私は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という名前のこのファイルの拡張子は何なのか混乱しています。新しい証明書でサインインする必要があるかどうか。そして、それをサーバー側にアップロードする方法。
みんな助けてください。私はこれをたくさん探していますが、満足のいく答えが得られません。
ありがとう
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サーバーを正しく設定するのに役立ちます。アップロードする方法の詳細そのサーバーのルートへのファイルは、それをどのように構成したかに大きく依存します。
これには拡張子がありません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/