البدء

نظرة عامة

يعمل بروتوكول روابط مواد العرض الرقمية وواجهة برمجة التطبيقات على تفعيل تطبيق أو موقع إلكتروني من إنشاء بيانات علنية يمكن التحقق منها حول التطبيقات أو المواقع الإلكترونية الأخرى. على سبيل المثال، يمكن للموقع الإلكتروني أن يعلن أنه مرتبط بتطبيق معيّن متوافق مع Android، أو يمكنه أن يعلن أنه يريد مشاركة بيانات اعتماد المستخدم مع موقع إلكتروني آخر.

في ما يلي بعض الاستخدامات المحتملة لروابط مواد العرض الرقمية:

  • يعلن الموقع الإلكتروني (أ) أنه يجب فتح الروابط إلى موقعه الإلكتروني في تطبيق معيّن على الأجهزة الجوّالة إذا كان التطبيق مثبتًا.
  • يعلن الموقع الإلكتروني (أ) أنه يمكنه مشاركة بيانات اعتماد مستخدم Chrome مع الموقع الإلكتروني (ب) بحيث لا يضطر المستخدم إلى تسجيل الدخول إلى الموقع الإلكتروني (ب) في حال تسجيل الدخول إلى الموقع الإلكتروني (أ).
  • يعلن التطبيق (أ) أنه يمكنه مشاركة إعدادات الجهاز، مثل الموقع الجغرافي، مع الموقع الإلكتروني (ب).

المصطلحات الرئيسية

  • الأصلي: الهدف الرئيسي هو التطبيق أو الموقع الإلكتروني الذي صدرت منه العبارة. في روابط مواد العرض الرقمية، يكون المدير دائمًا هو التطبيق أو الموقع الإلكتروني الذي يستضيف قائمة كشف الحساب.
  • قائمة كشوفات الحساب: تكون كشوفات الحسابات مضمّنة في قائمة كشوفات الحساب تحتوي على عبارة واحدة أو أكثر. قائمة البيان نص واضح ويمكن الوصول إليه بشكل عام، في موقع يتم التحكم فيه من خلال مدير المدرسة ويصعب انتحاله أو العبث به. قد يكون ملفًا مستقلاً أو قسمًا من عنصر آخر أكبر حجمًا. على سبيل المثال، في موقع إلكتروني، هو ملف كامل، أما في تطبيق Android، فهو قسم في بيان التطبيق. يمكن لأي شخص الاطّلاع على كشوفات الحسابات وإثبات ملكيتها باستخدام طرق غير خاصة. راجع وثائق قائمة كشوفات الحساب للحصول على مزيد من المعلومات.
  • بيان: البيان عبارة عن بنية JSON ذات بنية قوية تتكون من العلاقة (ما تنص عليه العبارة، مثل تفعيل مشاركة بيانات الاعتماد) والهدف (الموقع الإلكتروني أو التطبيق الذي تنطبق عليه العلاقة). ولذلك، فإن كل عبارة تشبه الجملة، حيث يشير principal إلى relation حول target.
  • كشف حساب المستهلك: يطلب كشف المستهلك كشف حساب من مدير الحساب ويتحقق من وجود بيان ضد مدير مادة عرض معين، وفي حال توفره، يمكنه تنفيذ الإجراء المحدّد. اطّلِع على البيان الذي يتضمّن مستندات للحصول على مزيد من المعلومات.

مثال على الاستخدام السريع

في ما يلي مثال مبسّط جدًا لكيفية استخدام الموقع الإلكتروني www.example.com لروابط مواد العرض الرقمية لتحديد أن أي روابط تؤدي إلى عناوين URL في هذا الموقع الإلكتروني يجب فتحها في تطبيق معيّن بدلاً من المتصفّح:

  1. ينشر الموقع الإلكتروني www.example.com قائمة بالعبارات على https://www.example.com/.well-known/assetlinks.json. هذا هو الاسم الرسمي والموقع الجغرافي لقائمة العبارات على موقع إلكتروني معيّن، ولا تكون قوائم البيانات في أي موقع جغرافي آخر أو بأي اسم آخر صالحة لهذا الموقع الإلكتروني. في المثال المُحدَّد، تتكون قائمة العبارات من عبارة واحدة، وهي تمنح التطبيق المتوافق مع Android الإذن لفتح روابط على موقعه:
    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target" : { "namespace": "android_app", "package_name": "com.example.app",
                   "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
    }]
    تدعم قائمة العبارات مجموعة من العبارات داخل علامتَي [ ]، ولكن يحتوي ملف الأمثلة على عبارة واحدة فقط. sha256_cert_fingerprints هو الملف المرجعي SHA256 لشهادة توقيع التطبيق. يمكنك العثور على مزيد من التفاصيل في وثائق روابط تطبيقات Android.
  2. يشتمل تطبيق Android المُدرج في العبارة أعلاه على فلتر intent يحدد نمط المضيف والمضيف والمسار لعناوين URL التي يريد معالجتها: في هذه الحالة، https://www.example.com. يتضمن فلتر intent سمة خاصة android:autoVerify، جديدة على Android M، تشير إلى أنه يجب على Android التحقق من العبارة على موقع الويب الموضح في فلتر الأهداف عند تثبيت التطبيق.
  3. يثبّت المستخدم التطبيق. يرى نظام التشغيل Android فلتر الأهداف من خلال السمة autoVerify ويتحقّق من توفّر قائمة البيانات على الموقع الإلكتروني المحدّد. وإذا توفّر، يتحقق نظام التشغيل Android مما إذا كان هذا الملف يتضمن بيانًا يمنح معالجة الرابط للتطبيق أم لا، ويتحقّق من توافق التطبيق مع البيان باستخدام تجزئة الشهادة. وإذا تم التحقق من كل شيء، فسيعيد Android توجيه أي https://www.example.com intent إلى تطبيق example.com.
  4. ينقر المستخدم على رابط يؤدي إلى https://www.example.com/puppies على جهازه. يمكن أن يكون هذا الرابط في أي مكان: في متصفح أو في اقتراح في Google Search Appliance أو في أي مكان آخر. يعيد Android توجيه intent إلى تطبيق example.com.
  5. يتلقى تطبيق example.com intent ويختار التعامل معه، ويفتح صفحة الكلاب الصغيرة في التطبيق. إذا رفض التطبيق معالجة أحد الروابط لسبب ما، أو إذا لم يكن التطبيق مثبتًا على الجهاز، فمن المفترض أنه تم إرسال الرابط إلى معالج intent الافتراضي التالي الذي يطابق نمط intent هذا (غالبًا ما يكون المتصفح).

قيود واعتبارات مهمة:

  • لا يصادق البروتوكول على الموكل الرئيسي الذي يصرح بالتصريح، لكن الإقرار يقع في موقع محدد مرتبط بدرجة كبيرة بالمدير ويتحكم في مدير المدرسة.
  • لا يصادق البروتوكول على الهدف الخاص بالعبارة، لكنه يوفّر وسيلة للمتصل لمصادقة الهدف (على سبيل المثال، تحدد العبارة استهدافات التطبيقات المتوافقة مع الأجهزة الجوّالة من خلال تجزئة الشهادة واسم الحزمة).
  • لا ينفِّذ البروتوكول أي إجراءات بيانات في الأصل، ولكنه يتيح إمكانية كشف البيانات، والتي يجب أن يتحقق منها التطبيق المستهلِك ثم يقرِّر ما إذا كان سيتم اتخاذ إجراء بناءً عليه أم لا. ينفِّذ Android M هذه الخطوات في الأصل، على سبيل المثال، إذا فوَّض موقع إلكتروني عملية معالجة الروابط لتطبيق معيّن، يتحقق Android من البيان ويتحقق منه ويتحقق من التطبيق المستهدف ثم يعرض للتطبيق خيار التعامل مع الرابط المحدَّد.
  • لا يُمكِّن البروتوكول من الإدلاء بأي تصريحات بشأن طرفَين ثالثَين: بمعنى أنّ الموقع الإلكتروني (أ) يمكن أن يُدخِل بيانًا بشأن الموقع الإلكتروني (ب)، ولكن لا يمكن للموقع الإلكتروني (أ) بيان بيان حول علاقة الموقع الإلكتروني (ب) بالموقع الإلكتروني (ج). أما إذا كان الموقع الإلكتروني "ب" يثق في الموقع الإلكتروني "أ"، يمكنه التحقّق من الموقع الإلكتروني "أ" بحثًا عن بيان يمنح الإذن للموقع الإلكتروني "ج" واتخاذ قرار بتنفيذه.

الخطوات التالية

  1. تحقَّق من توفّر مستندات صريحة لحالة الاستخدام.
  2. تعرَّف على مزيد من المعلومات عن إنشاء بيان.