명세 목록은 잘 알려진 위치에 있는 JSON 인코딩 파일 또는 스니펫입니다.
명령문 목록의 위치
이 목록을 저장해야 하는 위치는 명령문 목록 만들기를 참고하세요.
구문
명세 목록 또는 스니펫은 하나 이상의 웹사이트 또는 앱 명세가 JSON 객체로 구성된 JSON 배열로 구성됩니다. 이러한 문은 순서에 관계없이 작성할 수 있습니다. 일반적인 구문은 다음과 같습니다.
[ { "relation": ["relation_string"], "target": {target_object} } , ... ]
- relation
- 타겟에 관해 선언되는 관계를 설명하는 하나 이상의 문자열 배열입니다. 정의된 관계 문자열 목록을 참고하세요. 예:
delegate_permission/common.handle_all_urls
- target
- 이 문이 적용되는 타겟 애셋입니다. 사용 가능한 타겟 유형:
- relation_extensions (선택사항)
-
선택사항인
relation_extensions
필드를 문에 추가하여 부여하려는 권한 및 연결에 관한 자세한 정보를 제공할 수 있습니다. 이 필드는 각 키가 관계 문자열이고 값이 해당 관계의 확장 프로그램을 포함하는 객체인 객체여야 합니다. 이러한 명세서를 요청하는 클라이언트는 이러한 필드를 준수하도록 업데이트해야 합니다.예를 들어
delegate_permission/common.handle_all_urls
관계의relation_extensions
는 다음과 같을 수 있습니다.{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.app", "sha256_cert_fingerprints": ["..."] }, "relation_extensions": { "delegate_permission/common.handle_all_urls": {...} } }
DAL API는 요청에
return_relation_extensions=true
매개변수가 설정된 경우 API 호출에서 relation_extensions 반환을 지원합니다.
예시 문장 목록
웹사이트와 앱에 관한 명령문이 모두 포함된 웹사이트 명령문 목록의 예는 다음과 같습니다. http://example.digitalassetlinks.org/.well-known/assetlinks.json
수십 개 이상의 문으로 확장
경우에 따라 주 구성원이 여러 타겟에 관해 다양한 문을 작성할 수 있으며, 여러 주 구성원이 동일한 타겟 집합에 관해 문을 발급해야 할 수도 있습니다. 예를 들어 웹사이트가 여러 국가별 최상위 도메인에서 제공될 수 있으며, 이들 모두 동일한 모바일 앱에 관한 설명을 제공할 수 있습니다.
이러한 상황에서는 include statements가 유용할 수 있습니다. 이 메커니즘을 사용하면 여러 주체에서 모든 주체의 명령문을 정의하는 하나의 중앙 위치로 포인터를 설정할 수 있습니다.
예를 들어 중앙 위치가 `https://example.com/includedstatements.json`이라고 결정할 수 있습니다. 이 파일은 위의 예와 동일한 콘텐츠를 포함하도록 구성할 수 있습니다.
웹사이트에서 include 파일로 포인터를 설정하려면 `https://example.com/.well-known/assetlinks.json` 을 다음과 같이 변경합니다.
[{ "include": "https://example.com/includedstatements.json" }]
Android 앱에서 include 파일로 포인터를 설정하려면 `res/values/strings.xml` 을 다음과 같이 변경합니다.
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
추가 정보
명세서 목록 형식과 기본 개념에 관한 자세한 설명은 사양 문서를 참고하세요.