إذا كان تسجيل الدخول عبر One Tap يلبي احتياجاتك ، ففكر في استخدامه بدلاً من ذلك. يتمتع One Tap بتجربة مستخدم محدثة وتحسينات أخرى.

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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

إذا كان تطبيقك الذي يستخدم Smart Lock لكلمات المرور يشارك قاعدة بيانات مستخدم مع موقع الويب الخاص بك - أو إذا كان تطبيقك وموقعك على الويب يستخدمان موفري تسجيل دخول موحدين مثل Google Sign-In - فيمكنك ربط التطبيق بموقع الويب بحيث يحفظ المستخدمون بيانات اعتمادهم مرة واحدة ثم تسجيل الدخول تلقائيًا إلى كل من التطبيق وموقع الويب.

لربط تطبيق بموقع ويب ، قم بالإعلان عن الاقترانات من خلال استضافة ملف JSON من Digital Asset Links على موقع الويب الخاص بك ، وإضافة رابط إلى ملف Digital Asset Link إلى بيان التطبيق الخاص بك.

من خلال استضافة إعلان روابط الأصول الرقمية على موقع الويب الخاص بك ، يمكنك أيضًا تمكين موقع الويب الخاص بك من مشاركة بيانات الملء التلقائي مع تطبيقك عند التشغيل على 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 Digital Assets Link في الموقع التالي في مجال تسجيل الدخول:

    https://domain[:optional_port]/.well-known/assetlinks.json

    على سبيل المثال ، إذا كان مجال تسجيل الدخول الخاص بك هو signin.example.com ، signin.example.com ملف JSON على https://signin.example.com/.well-known/assetlinks.json .

    يجب أن يكون نوع MIME لملف ارتباط الأصول الرقمية هو JSON. تأكد من أن الخادم يرسل Content-Type: application/json header في الاستجابة.

  3. تأكد من أن مضيفك يسمح لـ Google باسترداد ملف Digital Asset Link الخاص بك. إذا كان لديك 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 سلسلة 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>