إذا كان تطبيقك الذي يستخدم ميزة "Smart Lock لكلمات المرور" يشارك قاعدة بيانات مستخدم مع موقعك الإلكتروني - أو إذا كان تطبيقك وموقعك الإلكتروني يستخدمان مزوِّدي خدمة تسجيل الدخول الموحَّدين، مثل مثل تسجيل الدخول بحساب Google - يمكنك ربط التطبيق بموقع الويب بحيث أن يحفظ المستخدمون بيانات الاعتماد مرة واحدة ثم يسجّلون الدخول تلقائيًا إلى والتطبيق وموقع الويب.
لربط تطبيق بموقع إلكتروني، يجب الإعلان عن عمليات الربط من خلال استضافة ملف JSON يتضمّن روابط مواد العرض الرقمية على موقعك الإلكتروني إضافة رابط إلى ملف رابط الأصول الرقمية إلى بيان تطبيقك
من خلال استضافة بيان "روابط مواد العرض الرقمية" على موقعك الإلكتروني، يمكنك أيضًا تفعيل مشاركة ميزة الملء التلقائي في موقعك الإلكتروني البيانات في تطبيقك عند تشغيله على الإصدار Android 8.0 أو الإصدارات الأحدث.
المتطلبات الأساسية
يجب أن يكون نطاق تسجيل الدخول إلى موقعك الإلكتروني متاحًا من خلال HTTPS.
ربط تطبيقك بموقعك الإلكتروني
أنشِئ ملف روابط مواد العرض الرقمية بتنسيق JSON.
على سبيل المثال، للإعلان عن أنّ الموقع الإلكتروني
https://signin.example.com
يمكن لتطبيق Android باسم الحزمةcom.example
مشاركة تسجيل الدخول. بيانات الاعتماد، يجب إنشاء ملف باسمassetlinks.json
المحتوى:[{ "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://signin.example.com" } }, { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "android_app", "package_name": "com.example", "sha256_cert_fingerprints": [ "F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B" ] } }]
الحقل
relation
هو مصفوفة من سلسلة واحدة أو أكثر تصف إعلان العلاقة. الإقرار بأنّ التطبيقات والمواقع الإلكترونية تشارك معلومات تسجيل الدخول بيانات الاعتماد، حدد السلسلةdelegate_permission/common.get_login_creds
الحقل
target
هو كائن يحدّد مادة العرض التي يتضمّن تعريفها التي تنطبق عليها استراتيجيتك. تحدّد الحقول التالية الموقع الإلكتروني:namespace
web
site
عنوان URL للموقع الإلكتروني بالتنسيق
https://domain[:optional_port]
؛ حيث على سبيل المثال،https://www.example.com
.يجب أن يكون domain مؤهّلاً بالكامل. يجب حذف optional_port عند استخدام المنفذ 443 HTTPS.
يمكن أن يكون هدف
site
نطاق جذر فقط، فلا يمكنك تقييد ارتباط التطبيق بدليل فرعي محدد. يُرجى عدم تضمين مسار في عنوان URL، مثل الشرطة المائلة اللاحقة.ولا تُعتبر النطاقات الفرعية متطابقة: بمعنى أنه إذا حددت domain باسم
www.example.com
، النطاق لم يتم ربط "www.counter.example.com
" بتطبيقك.تحدِّد الحقول التالية تطبيق Android:
namespace
android_app
package_name
اسم الحزمة الذي تم تعريفه في بيان التطبيق على سبيل المثال: com.example.android
sha256_cert_fingerprints
الملفات المرجعية لشهادة SHA256 الخاصة بشهادة توقيع تطبيقك يمكنك استخدِم الأمر التالي لإنشاء الملف المرجعي: $ keytool -list -v -keystore my-release-key.keystore
الاطّلاع على مرجع "روابط مواد العرض الرقمية" لمزيد من التفاصيل.
يمكنك استضافة ملف رابط التنقل إلى مواد العرض الرقمية بتنسيق JSON في الموقع التالي على نطاق تسجيل الدخول:
https://domain[:optional_port]/.well-known/assetlinks.json
على سبيل المثال، إذا كان نطاق تسجيل الدخول هو
signin.example.com
، يمكنك استضافة ملف JSON. فيhttps://signin.example.com/.well-known/assetlinks.json
.يجب أن يكون نوع MIME لملف "رابط مواد العرض الرقمية" بتنسيق JSON. يُرجى التأكد من أنّ: يرسل الخادم العنوان
Content-Type: application/json
في الاستجابة.تأكَّد من أنّ مضيفك يسمح لـ Google باسترداد رابط الأصول الرقمية الخاص بك. الملف. إذا كان لديك ملف
robots.txt
، يجب أن يتيح لوكيل Googlebot تنفيذ ما يلي: استرداد/.well-known/assetlinks.json
. يمكن لمعظم المواقع السماح لاسترداد الملفات في مسار/.well-known/
حتى لا بإمكان الخدمات الوصول إلى البيانات الوصفية في هذه الملفات:User-agent: * Allow: /.well-known/
يمكنك تعريف عملية الربط في تطبيق Android.
أضِف السطر التالي إلى ملف البيان ضمن
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
أضِف مورد سلسلة
asset_statements
إلى ملفstrings.xml
. السلسلةasset_statements
هي كائن JSON يحدّدassetlinks.json
ملف للتحميل. يجب إلغاء الفاصلات العليا علامات الاقتباس التي تستخدمها في السلسلة. على سبيل المثال:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>
> GET /.well-known/assetlinks.json HTTP/1.1 > User-Agent: curl/7.35.0 > Host: signin.example.com < HTTP/1.1 200 OK < Content-Type: application/json
انشر التطبيق في "متجر Google Play". يجب إصداره للجمهور قناة للارتباطات التي سيتم الحصول عليها.
(اختياري) أكمِل النموذج وأرسِله نموذج الاشتراك في Smart Lock لكلمات المرور للإشارة إلى حضورك خلال العملية. تتحقّق Google بشكل دوري مما إذا كانت الانتماءات من خلال النموذج، وقد يتم التواصل معك في حالة المشكلات.
عند اكتمال عملية إثبات الهوية، يمكن لمستخدمي تطبيقك حفظ بيانات اعتمادهم على تطبيقك أو موقعك الإلكتروني، وسيتم تسجيل الدخول إلى أي منهما تلقائيًا
مثال: ربط عدة تطبيقات بموقع إلكتروني
يمكنك ربط عدة تطبيقات بموقع إلكتروني من خلال تحديد كل تطبيق في
Digital Assets Link (رابط إلى مواد العرض الرقمية) على سبيل المثال، لربط com.example
com.example.pro
تطبيق على الموقع الإلكتروني https://signin.example.com/
، حدِّد
كلا التطبيقين في ملف JSON المستضاف على
https://signin.example.com/.well-known/assetlinks.json
:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://signin.example.com"
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example.pro",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
}]
بعد ذلك، يمكنك الإعلان عن عملية الربط في كلا التطبيقَين:
أضِف السطر التالي إلى ملف البيان ضمن
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
أضِف مصدر السلسلة التالي إلى ملف
strings.xml
:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>
مثال: ربط التطبيقات بمواقع إلكترونية متعدّدة
يمكنك ربط التطبيقات بمواقع إلكترونية متعددة من خلال تحديد كل موقع إلكتروني في
Digital Assets Link (رابط الأصول الرقمية) واستضافة الملف على كل موقع إلكتروني على سبيل المثال، بهدف
ربط التطبيقَين com.example
وcom.example.pro
بالموقع الإلكتروني على
https://signin.example.com/
وhttps://m.example.com/
، حدِّد
كلا التطبيقين وكلا الموقعين في ملف JSON المستضاف على
https://signin.example.com/.well-known/assetlinks.json
:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://signin.example.com"
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://m.example.com"
},
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example.pro",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
}]
بعد ذلك، في ملف JSON المستضاف في
https://m.example.com/.well-known/assetlinks.json
، وتشمل المنصة الرقمية الأساسية
ملف "روابط مواد العرض":
[{
"include": "https://signin.example.com/.well-known/assetlinks.json"
}]
أخيرًا، اذكر عملية الربط في كلا التطبيقَين:
أضِف السطر التالي إلى ملف البيان ضمن
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
أضِف مصدر السلسلة التالي إلى ملف
strings.xml
:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>