애셋 링크 사양에 정의된 대로, 스테이트먼트는 주체의 잘 알려진 위치에 있는 JSON 인코딩 스테이트먼트 목록에 호스팅됩니다. 명령문 목록에는 하나 이상의 명령문이 포함되며, 주 구성원에는 하나의 명령문 목록만 있을 수 있습니다.
문 목록 문법
문 목록 구문을 참고하세요.
명령문 목록 위치
명세 목록은 주체 (명세를 만드는 웹사이트 또는 앱)의 유형에 따라 달라지는 잘 알려진 위치에 호스팅됩니다.
웹사이트 명세 목록
웹사이트에서 명세서 목록은 다음 주소에 있는 텍스트 파일입니다.
scheme://domain/.well-known/assetlinks.json
.well-known 폴더 이름에 점이 있습니다.
HTTP 200 이외의 서버 응답은 오류로 처리되며 빈 명령문 목록이 표시됩니다. HTTPS의 경우 신뢰할 수 있는 루트 목록으로 확인할 수 있는 인증서 체인이 없는 연결도 빈 명령문 목록이 됩니다.
예
다음은 웹사이트의 명령문 목록의 예입니다. http://example.digitalassetlinks.org/.well-known/assetlinks.json
Android 앱 선언문 목록
Android 앱에서 명령문 목록은 웹사이트 명령문 파일과 동일한 구문이 있는 JSON 스니펫이지만 strings.xml 파일에 삽입되고 다음 그림과 같이 매니페스트에서 참조됩니다.
AndroidManifest.xml:
<manifest>
<application>
...
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
...
</application>
</manifest>res/values/strings.xml:
<resources>
...
<string name="asset_statements">
... statement list ...
</string>
</resources>
예
다음은 앱과의 위치 공유를 지원하는 Android 앱의 res/values/strings.xml 스니펫 예시입니다 (현재 지원되지 않는 Android 기능).
<resources>
...
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.share_location\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://example.com\"
}
}]
</string>
</resources>타겟 일치
모든 문은 타겟에 관한 것입니다. 명제를 사용할 때는 명제의 타겟을 실제의 일부 항목과 일치시켜야 합니다. 명령문 타겟이 항목과 일치하면 명령문이 적용됩니다. 다음은 타겟이 지정된 항목과 일치하는지 여부를 결정하는 규칙입니다.
웹사이트 타겟
웹사이트의 경우 사이트 스키마, 호스트, 포트가 정확히 일치해야 합니다. HTTP 및 HTTPS의 기본 포트 (각각 80 및 443)는 암시적으로 가정됩니다. 명령문 타겟이 http://www.example.com:80을 설명하는 경우 웹사이트 http://www.example.com이 일치하는 것으로 간주됩니다.
예
다음 문장 타겟이 지정됩니다.
"target": {
"namespace": "web",
"site": "https://www.google.com"
}다음 URI는 일치합니다 .
- https://www.google.com/
- https://www.google.com:443/
- https://www.google.com/foo
- https://www.google.com/foo?bar
- https://www.google.com/foo#bar
- https://user@password:www.google.com/
다음 URL은 일치하지 않습니다.
- http://www.google.com/ (잘못된 스킴)
- https://google.com/ (호스트 이름이 일치하지 않음)
- https://www.google.com:444/ (포트가 일치하지 않음)
앱 타겟
앱의 경우 타겟의 인증서 해시와 패키지 이름이 애플리케이션과 정확히 일치해야 합니다.