إنشاء قائمة العبارات

تتم استضافة البيانات في قائمة بيانات بترميز 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>

مثال

في ما يلي مثال على مقتطف من res/values/strings.xml لتطبيق Android يتيح مشاركة الموقع الجغرافي مع التطبيق (إحدى ميزات 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/ (Wrong scheme)
  • https://google.com/ (اسم المضيف غير مطابق)
  • https://www.google.com:444/ (المنفذ غير مطابق)

استهداف التطبيقات

بالنسبة إلى التطبيق، يجب أن يتطابق تجزئة الشهادة واسم حزمة الهدف تمامًا مع التطبيق.