تفعيل تسجيل الدخول التلقائي على جميع التطبيقات والمواقع الإلكترونية

إذا كان تطبيقك الذي يستخدم ميزة "Smart Lock لكلمات المرور" يشارك قاعدة بيانات مستخدم مع موقعك الإلكتروني - أو إذا كان تطبيقك وموقعك الإلكتروني يستخدمان مزوِّدي خدمة تسجيل الدخول الموحَّدين، مثل مثل تسجيل الدخول بحساب Google - يمكنك ربط التطبيق بموقع الويب بحيث أن يحفظ المستخدمون بيانات الاعتماد مرة واحدة ثم يسجّلون الدخول تلقائيًا إلى والتطبيق وموقع الويب.

لربط تطبيق بموقع إلكتروني، يجب الإعلان عن عمليات الربط من خلال استضافة ملف JSON يتضمّن روابط مواد العرض الرقمية على موقعك الإلكتروني إضافة رابط إلى ملف رابط الأصول الرقمية إلى بيان تطبيقك

من خلال استضافة بيان "روابط مواد العرض الرقمية" على موقعك الإلكتروني، يمكنك أيضًا تفعيل مشاركة ميزة الملء التلقائي في موقعك الإلكتروني البيانات في تطبيقك عند تشغيله على الإصدار Android 8.0 أو الإصدارات الأحدث.

المتطلبات الأساسية

يجب أن يكون نطاق تسجيل الدخول إلى موقعك الإلكتروني متاحًا من خلال HTTPS.

ربط تطبيقك بموقعك الإلكتروني

  1. أنشِئ ملف روابط مواد العرض الرقمية بتنسيق 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

    الاطّلاع على مرجع "روابط مواد العرض الرقمية" لمزيد من التفاصيل.

  2. يمكنك استضافة ملف رابط التنقل إلى مواد العرض الرقمية بتنسيق 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 في الاستجابة.

  3. تأكَّد من أنّ مضيفك يسمح لـ Google باسترداد رابط الأصول الرقمية الخاص بك. الملف. إذا كان لديك ملف robots.txt، يجب أن يتيح لوكيل Googlebot تنفيذ ما يلي: استرداد /.well-known/assetlinks.json. يمكن لمعظم المواقع السماح لاسترداد الملفات في مسار /.well-known/ حتى لا بإمكان الخدمات الوصول إلى البيانات الوصفية في هذه الملفات:

    User-agent: *
    Allow: /.well-known/
    

  4. يمكنك تعريف عملية الربط في تطبيق Android.

    1. أضِف السطر التالي إلى ملف البيان ضمن <application>:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. أضِف مورد سلسلة 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
      
  5. انشر التطبيق في "متجر Google Play". يجب إصداره للجمهور قناة للارتباطات التي سيتم الحصول عليها.

  6. (اختياري) أكمِل النموذج وأرسِله نموذج الاشتراك في 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"
    ]
  }
}]

بعد ذلك، يمكنك الإعلان عن عملية الربط في كلا التطبيقَين:

  1. أضِف السطر التالي إلى ملف البيان ضمن <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. أضِف مصدر السلسلة التالي إلى ملف 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"
}]

أخيرًا، اذكر عملية الربط في كلا التطبيقَين:

  1. أضِف السطر التالي إلى ملف البيان ضمن <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. أضِف مصدر السلسلة التالي إلى ملف strings.xml:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
    }]
    </string>