لیست بیانیه یک فایل یا قطعه کد شده با JSON در یک مکان شناخته شده است.
محل لیست بیانیه
برای اینکه بدانید این لیست باید در کجا ذخیره شود، به ایجاد فهرست بیانیه مراجعه کنید.
نحو
لیست بیانیه یا قطعه شامل یک آرایه JSON از یک یا چند بیانیه وب سایت یا برنامه به عنوان اشیاء JSON است. این اظهارات می توانند به هر ترتیبی باشند. در اینجا نحو کلی آمده است:
[ { "relation": ["relation_string "], "target": {target_object } } , ... ]
- رابطه
- آرایه ای از یک یا چند رشته که رابطه اعلان شده در مورد هدف را توصیف می کند. لیست رشته های رابطه تعریف شده را ببینید. مثال:
delegate_permission/common.handle_all_urls
- هدف
- دارایی هدف که این بیانیه در مورد آن اعمال می شود. انواع هدف موجود:
هدف وب سایت "target": { "namespace": "web", "site": "
site_root_url " }- فضای نام
- باید برای وب سایت ها
web
باشد. - سایت
- URI سایتی که هدف عبارت است، در قالب
http[s]://< hostname >[:< port >]
، که در آن <hostname> کاملاً واجد شرایط است، و <port> باید هنگام استفاده حذف شود پورت 80 برای HTTP یا پورت 443 برای HTTPS. یک وب سایت هدف فقط می تواند یک دامنه ریشه باشد. شما نمی توانید به یک زیر شاخه خاص محدود کنید. همه دایرکتوری های زیر این ریشه مطابقت دارند. زیردامنه ها را نباید منطبق دانست: یعنی اگر فایل بیانیه در www.example.com میزبانی می شود، آنگاه www.puppies.example.com نباید مطابقت در نظر گرفته شود. برای قوانین و مثالهایی درباره تطبیق هدف وبسایت، به مستندات اهداف مراجعه کنید. مثال:http://www.example.com
هدف برنامه اندروید "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- فضای نام
- باید
android_app
برای برنامههای اندروید باشد. - بسته_نام
- نام بسته کاملاً واجد شرایط برنامه که این عبارت برای آن اعمال می شود. مثال:
com.google.android.apps.maps
- sha256_cert_prints
- اثر انگشت بزرگ SHA265 گواهی برای برنامه ای که این عبارت برای آن اعمال می شود. همانطور که در اینجا نشان داده شده است، می توانید این را با استفاده از
openssl
یاkeytool
جاوا محاسبه کنید:-
openssl x509 -in $CERTFILE -noout -fingerprint -sha256
-
keytool -printcert -file $CERTFILE | grep SHA256
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
.اگر از Play App Signing برای برنامه خود استفاده میکنید، اثر انگشت گواهی که با اجرای
keytool
یاopenssl
به صورت محلی تولید میشود معمولاً با دستگاههای کاربران مطابقت ندارد. میتوانید تأیید کنید که آیا از Play App Signing برای برنامه خود در حساب برنامهنویس Play Console خود در Release > Setup > App Integrity استفاده میکنید. اگر این کار را انجام دهید، قطعه JSON پیوند دارایی دیجیتال صحیح را نیز در همان صفحه برای برنامه خود خواهید یافت. -
نمونه لیست بیانیه
در اینجا یک نمونه لیست بیانیه وب سایت است که حاوی عباراتی در مورد وب سایت ها و برنامه ها است: http://example.digitalassetlinks.org/.well-known/assetlinks.json
مقیاس دهی به ده ها عبارت یا بیشتر
در برخی موارد، یک مدیر ممکن است بخواهد اظهارات مختلفی در مورد اهداف مختلف بیان کند، یا ممکن است نیاز به صدور بیانیه هایی از مدیران مختلف برای یک مجموعه از اهداف باشد. برای مثال، یک وبسایت ممکن است در دامنههای سطح بالای مختلف در هر کشور در دسترس باشد، و همه آنها ممکن است بخواهند در مورد یک برنامه تلفن همراه اظهار نظر کنند.
برای این مواقع، شامل کردن عبارات می تواند مفید باشد. با استفاده از این مکانیسم، میتوانید نشانگرها را از بسیاری از اصلیهای مختلف در یک مکان مرکزی تنظیم کنید، که دستورات را برای همه اصلیها تعریف میکند.
برای مثال، ممکن است تصمیم بگیرید که مکان مرکزی «https://example.com/includedstatements.json» باشد. این فایل را می توان طوری پیکربندی کرد که حاوی همان محتوای مثال های بالا باشد.
برای تنظیم یک اشاره گر از یک وب سایت به فایل شامل، «https://example.com/.well-known/assetlinks.json» را به:
[{ "include": "https://example.com/includedstatements.json" }]
برای تنظیم یک اشاره گر از یک برنامه Android به فایل شامل، «res/values/strings.xml» را به:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
اطلاعات بیشتر
توضیح دقیق تری از قالب لیست بیانیه و مفاهیم اساسی در سند مشخصات ما وجود دارد.