1. نظرة عامة
هل يصل المستخدمون إلى خدمتك من خلال المواقع الإلكترونية وتطبيقات Android؟ وإذا اضطر المستخدمون إلى تسجيل الدخول بشكل منفصل على كل منصة، سيؤدي ذلك إلى حدوث مشاكل غير ضرورية وقد يتسبّب في انسحابهم.
تعمل روابط تنقل إلى مواد عرض رقمية (DAL) على حلّ هذه المشكلة من خلال السماح لك بالتعريف بعمليات الربط بين مواقعك الإلكترونية وتطبيقاتك. يتيح ذلك لتطبيقات إدارة كلمات المرور، مثل "مدير كلمات المرور في Google"، مشاركة كلمات المرور ومفاتيح المرور المحفوظة بينها.
على وجه التحديد، يتطلّب إعداد ملف روابط تنقل إلى مواد عرض رقمية علاقات مختلفة حسب ما تريد مشاركته:
- بالنسبة إلى كلمات المرور: يتيح تضمين
delegate_permission/common.get_login_credsلتطبيقات إدارة كلمات المرور مشاركة كلمات المرور المحفوظة بين موقعك الإلكتروني وتطبيقك. - بالنسبة إلى مفاتيح المرور: بما أنّ مفاتيح المرور مرتبطة بشكل صارم بنطاق ويب معيّن، يتطلّب نظام التشغيل Android إثبات ملكية النطاق. لذلك، يجب تضمين
delegate_permission/common.handle_all_urls. مع أنّك قد تعرف هذا الإذن على أنّه الإذن المستخدَم في Android App Links (الربط العميق)، إلا أنّه أيضًا شرط أساسي للسماح باستخدام مفاتيح المرور التي تم إنشاؤها على إحدى المنصّات على المنصّة الأخرى.
النتيجة هي يمكن للمستخدمين تسجيل الدخول بسلاسة على جميع المنصات المرتبطة باستخدام كلمات المرور أو مفاتيح المرور المحفوظة لمنصة واحدة فقط.

يمكن أن يؤدي تنفيذ ميزة مشاركة بيانات الاعتماد بسلاسة إلى تحسين تجربة المستخدم بشكل كبير. على سبيل المثال، حقّقت eBay زيادة بنسبة% 10 في معدّل نجاح تسجيل الدخول بعد تنفيذ ميزة "الوصول السريع" لمشاركة بيانات الاعتماد.
في هذا الدرس التطبيقي حول الترميز، ستتعرّف على كيفية استخدام روابط تنقل إلى مواد عرض رقمية لتفعيل مشاركة بيانات الاعتماد بين موقعك الإلكتروني وتطبيق Android.
المتطلبات الأساسية
- معرفة أساسية بتنسيق JSON وتطوير تطبيقات Android
- الإلمام بالمتطلبات الأساسية لواجهة برمجة التطبيقات Android Credential Manager API
أهداف الدورة التعليمية
- كيفية إعداد ميزة "مشاركة بيانات الاعتماد" باستخدام Google Play Console (يُنصح بذلك)
- كيفية إنشاء ملف
assetlinks.jsonيدويًا - كيفية ضبط تطبيق Android لربطه يدويًا
- كيفية تفعيل مفاتيح المرور على تطبيق Android من خلال ربطه بنطاق موقع إلكتروني
- كيفية استخدام الأدوات لإنشاء عملية الإعداد والتحقّق من صحتها
المتطلبات
- موقع إلكتروني: يجب أن يكون بإمكانك استضافة ملف JSON في
https://{your-domain}/.well-known/assetlinks.json. - تطبيق Android:
- بالنسبة إلى طريقة Play Console: يجب أن يكون التطبيق منشورًا على Google Play.
- بالنسبة إلى الطريقة اليدوية: مشروع Android يمكنك تعديله وإنشاؤه. يُرجى العِلم أنّه يجب نشر التطبيق على Google Play لكي تعمل ميزة مشاركة بيانات الاعتماد مع "مدير كلمات المرور في Google".
آلية العمل
لكي تعمل ميزة مشاركة بيانات الاعتماد، عليك إعداد ثقة ثنائية الاتجاه باتّباع الخطوات التالية:
- الموقع الإلكتروني -> التطبيق: يجب أن يستضيف موقعك الإلكتروني ملف
assetlinks.jsonيوضّح أنّه يثق بتطبيق Android. - التطبيق -> الويب: يجب ضبط تطبيق Android على الوثوق بموقعك الإلكتروني.
سنتناول طريقتَين لإجراء ذلك: الطريقة التلقائية باستخدام Google Play Console (ننصح بها)، والطريقة اليدوية باستخدام روابط تنقل إلى مواد عرض رقمية مباشرةً.
2. الإعداد باستخدام Google Play Console (يُنصح به)
أسهل طريقة لتفعيل ميزة مشاركة بيانات الاعتماد بين موقعك الإلكتروني وتطبيق Android هي من خلال Google Play Console. تتيح لك هذه الطريقة ربط تطبيقك بموقعك الإلكتروني بدون الحاجة إلى تعديل بيان التطبيق أو نشر إصدار جديد منه، إذ يتولّى Google Play إدارة عملية الربط من جهة التطبيق.
المتطلبات الأساسية
- أذونات Play Console للوصول إلى صفحة الروابط لصفحات في التطبيق
- إمكانية نشر ملف
/.well-known/assetlinks.jsonعلى نطاقك
لمزيد من المعلومات عن الروابط لصفحات في التطبيق، اطّلِع على روابط Android App Links.
الخطوات
- في Play Console، انتقِل إلى نمو > الروابط لصفحات في التطبيق.
- إذا لم يكن نطاقك مُدرَجًا، انقر على إضافة نطاق ضمن إعدادات التطبيق.
- ابحث عن نطاقك وحدِّد موقع عمود مشاركة بيانات الاعتماد. انقر على تفعيل (أو تأكَّد من تفعيل الخيار تفعيل مشاركة بيانات الاعتماد للنطاقات الجديدة).
- انسخ مقتطف JSON الذي تم إنشاؤه بواسطة Play Console.
- انشر محتوى JSON هذا في
https://{your-domain}/.well-known/assetlinks.json. (إذا كان لديك هذا الملف، أضِف البيان الجديد إليه). - ارجع إلى Play Console، ثم انقر على الربط بالموقع الإلكتروني أو تفعيل مشاركة بيانات الاعتماد.
سيتحقّق Play Console الآن من إعدادات الاستضافة.

لكي تعمل ميزة مشاركة بيانات الاعتماد، يجب أن يستوفي مضيف موقعك الإلكتروني المتطلبات التالية:
- يمكن الوصول إلى عنوان URL عبر HTTPS.
- يستجيب الخادم بالرمز
Content-Type: application/json. - يمكن الوصول إلى عنوان URL بدون عمليات إعادة توجيه.
بعد إثبات ملكية الحساب، ستكون ميزة مشاركة بيانات الاعتماد مفعَّلة. قد يستغرق نشر التغييرات في الإعدادات أسبوعًا أو أسبوعَين.
3- الإعداد يدويًا باستخدام روابط تنقل إلى مواد عرض رقمية
هل تريد مزيدًا من التحكم في خياراتك؟ أو ليس لديك إذن الوصول إلى Play Console؟ يمكنك ضبط مشاركة بيانات الاعتماد بين موقعك الإلكتروني وتطبيق Android يدويًا. يتضمّن ذلك مهمتَين رئيسيتَين: استضافة ملف JSON على موقعك الإلكتروني وتعديل بيان تطبيق Android.
1. الحصول على البصمة الرقمية لتطبيقك
قبل إعداد ميزة "مشاركة بيانات الاعتماد بسلاسة"، تأكَّد من توفّر ما يلي لكل نظام أساسي:
لكل تطبيق Android:
- معرّف تطبيق Android، كما هو موضّح في ملف
build.gradleالخاص بالتطبيق - الملفات المرجعية لمعيار SHA256 الخاصة بشهادة التوقيع
- (إجراء مقترَح) تم تنفيذ عملية تسجيل دخول المستخدم باستخدام واجهة Credential Manager API.
2. إنشاء ملف الربط
عليك إنشاء ملف assetlinks.json يوضّح العلاقات بين موقعك الإلكتروني وتطبيقك. استخدِم delegate_permission/common.get_login_creds لمنح الإذن بمشاركة كلمات المرور، واستخدِم delegate_permission/common.handle_all_urls لتفعيل الروابط لصفحات معيّنة داخل التطبيق ومشاركة مفاتيح المرور.
أنشئ ملفًا باسم assetlinks.json يتضمّن المحتوى التالي. استبدِل القيم النموذجية بعنوان URL لموقعك الإلكتروني واسم الحزمة وبصمة الإصبع:
[{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints":
["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"]
}
}]
3- استضافة الملف
حمِّل ملف assetlinks.json إلى الدليل .well-known في جذر نطاقك.
الموقع الجغرافي: https://{your-domain}/.well-known/assetlinks.json
لكي تعمل ميزة مشاركة بيانات الاعتماد، يجب أن يستوفي مضيف موقعك الإلكتروني المتطلبات التالية:
- يمكن الوصول إلى عنوان URL عبر HTTPS.
- يستجيب الخادم بالرمز
Content-Type: application/json. - يمكن الوصول إلى عنوان URL بدون عمليات إعادة توجيه.

4. ضبط تطبيق Android
الآن، اطلب من تطبيق Android الوثوق بالموقع الإلكتروني. ستضيف مرجعًا في ملف البيان يشير إلى ملف موارد يحتوي على عنوان URL الخاص بـ assetlinks.json.
1. إضافة مصدر السلاسل النصية
في res/values/strings.xml، أضِف سلسلة جديدة asset_statements. لاحظ علامات الاقتباس التي تم تجاهلها.
<resources>
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://www.example.com/.well-known/assetlinks.json\"
}]
</string>
</resources>
2. إضافة بيانات وصفية إلى ملف البيان
في AndroidManifest.xml، أضِف علامة <meta-data> ضِمن العنصر <application> الذي يشير إلى مصدر السلاسل النصية هذا:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<meta-data
android:name="asset_statements"
android:resource="@string/asset_statements" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
بعد إكمال هذه الخطوات ونشر إصدار جديد من تطبيق Android، ستتمكّن خدمات إدارة كلمات المرور التي تتوافق مع روابط تنقل إلى مواد عرض رقمية (مثل "مدير كلمات المرور في Google") من اقتراح بيانات الاعتماد المحفوظة لتطبيق www.example.com عندما يحاول المستخدم تسجيل الدخول إلى com.example.app، والعكس صحيح.
4. التحقق من صحة الإعداد
قبل الشحن، من الضروري التحقّق من صحة إعدادات روابط تنقل إلى مواد عرض رقمية. سيحدث خطأ بدون إشعار إذا كان تنسيق JSON غير صحيح أو إذا تعذّر الوصول إلى الملفات.
استخدِم أداة إنشاء بيانات التحقّق والتحقّق منها الرسمية.

- أدخِل نطاق الموقع الإلكتروني واسم حزمة التطبيق.
- انقر على كشف تجريبي.
- ستتحقّق الأداة مما إذا كان ملف
assetlinks.jsonمستضافًا بشكلٍ صحيح ويتضمّن الربط الصحيح.
5- مشاركة بيانات الاعتماد بين مواقع إلكترونية متعددة

إذا كان لديك عدة مواقع إلكترونية تشارك نظام تسجيل الدخول نفسه (مثل example.com وexample.co.uk)، يمكنك تعريفها على أنّها تابعة حتى يمكن مشاركة بيانات الاعتماد بينها.
مشاركة كلمات المرور بين مواقع إلكترونية متعددة
لمشاركة كلمات المرور بين المواقع الإلكترونية، يمكنك الإعلان عن ربط web بـ web باستخدام delegate_permission/common.get_login_creds.
على سبيل المثال، لكي يتمكّن example.com من مشاركة كلمات المرور مع example.co.uk، يجب أن يتضمّن الملف assetlinks.json المستضاف على https://example.com/.well-known/assetlinks.json بيانًا يستهدف example.co.uk:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://example.co.uk"
}
}]
وبالمثل، يجب أن يتضمّن https://example.co.uk/.well-known/assetlinks.json بيانًا يستهدف example.com.
مشاركة مفاتيح المرور بين مواقع إلكترونية متعددة
للسماح لمواقع إلكترونية متعددة بمشاركة مفاتيح المرور نفسها، يجب أن تستخدم رقم تعريف الجهة المعتمِدة نفسه. في WebAuthn ومفاتيح المرور، يحدّد معرّف RP نطاق بيانات الاعتماد حسب اسم النطاق. عند إنشاء مفتاح مرور، يتم ربطه بمعرّف طرف معتمد محدّد، ولا يمكن استخدامه إلا على النطاقات التي تندرج ضمن نطاق هذا المعرّف. يضمن تحديد معرّف الطرف المسؤول بشكلٍ صحيح تجربة سلسة لاستخدام مفتاح المرور على مستوى النطاقات الفرعية والمصادر المتعددة المواقع والتطبيقات المتوافقة مع الأجهزة الجوّالة التابعة للطرف الأول. يمكنك الاطّلاع على مزيد من المعلومات حول ضبط معرّف الجهة المعتمِدة في مقالة التعرّف على معرّف الجهة المعتمِدة. باستخدام طلبات المصدر المرتبط، يمكن لموقع إلكتروني تحديد مصادر أخرى مسموح لها باستخدام معرّف RP، ما يسمح للمستخدمين بإعادة استخدام مفتاح المرور نفسه على مواقع إلكترونية متعددة تديرها. يُرجى العِلم أنّ هذا الإجراء يختلف عن مشاركة مفاتيح المرور بين موقع إلكتروني وتطبيق Android، والذي يستخدم delegate_permission/common.handle_all_urls في روابط تنقل إلى مواد عرض رقمية.
على سبيل المثال، إذا كنت تريد أن تشارك example.com وexample.co.uk مفاتيح المرور، يمكنك تحديد أنّ example.com سيكون معرّف RP الأساسي. لكي يعمل ذلك، يجب أن يستخدم example.co.uk rpId: 'example.com' في طلبات WebAuthn API، ويجب أن يستضيف example.com ملفًا على https://example.com/.well-known/webauthn لإضافة example.co.uk إلى القائمة المسموح بها:
{
"origins": [
"https://example.co.uk"
]
}
يتيح ذلك لـ example.co.uk إنشاء مفاتيح مرور مرتبطة بـ example.com واستخدامها.
6. الخاتمة
تهانينا! تم إعداد ميزة "مشاركة بيانات الاعتماد بسلاسة" بنجاح.
يمكن للمستخدمين الآن حفظ كلمة مرور ومفتاح مرور على موقعك الإلكتروني واستخدامهما لتسجيل الدخول إلى تطبيق Android بنقرة واحدة (والعكس صحيح). يمكن أن يؤدي هذا التغيير البسيط إلى زيادة معدّلات الإحالات الناجحة لتسجيل الدخول ورضا المستخدمين بشكلٍ كبير.
ما هي الخطوات التالية؟
- اطّلِع على المستندات الرسمية حول روابط تنقل إلى مواد عرض رقمية.
- مزيد من المعلومات حول أساسيات ميزة "مشاركة بيانات الاعتماد"
- يمكنك قراءة دراسة حالة eBay للاطّلاع على التأثير.