قائمة الأحكام هي ملف أو مقتطف بترميز 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
-
استهداف تطبيق Android "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- مساحة الاسم
- يجب أن يكون
android_app
لتطبيقات Android. - package_name
- اسم الحزمة المؤهّل بالكامل للتطبيق الذي ينطبق عليه هذا البيان. مثال:
com.google.android.apps.maps
- sha256_cert_fingerprints
- الملف المرجعي SHA265 بالأحرف اللاتينية الكبيرة لشهادة التطبيق الذي ينطبق عليه
هذا البيان يمكنك احتساب ذلك باستخدام
openssl
أو Javakeytool
كما هو موضّح هنا: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 لتطبيقك، لا يتطابق عادةً ملف الشهادة المرجعي الذي تم إنشاؤه من خلال تشغيل
keytool
أوopenssl
على الجهاز مع الملف المتوفر على أجهزة المستخدمين. يمكنك التحقّق مما إذا كنت تستخدم ميزة "توقيع التطبيق" من Play لتطبيقك في حساب المطوّر الخاص بك على 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>
مزيد من المعلومات
يمكنك الاطّلاع على مستند المواصفات للحصول على شرح أكثر تفصيلاً لتنسيق قائمة العبارات والمفاهيم الأساسية.