مثال: مشاركة بيانات الاعتماد على مواقع إلكترونية متعدّدة وتطبيقات Android متعدّدة

لإعداد ميزة مشاركة بيانات الاعتماد على عدة مواقع إلكترونية وتطبيقات Android متعددة، عليك إجراء ما يلي:

  • تعيين نطاق أساسي: اختَر عنوان URL واحدًا كنقطة مرجعية أساسية للروابط.
  • إنشاء ملفات assetlinks.json:
    • النطاق الأساسي: أنشئ ملف assetlinks.json على نطاقك الأساسي يسرد جميع بيانات اعتماد مشاركة النطاقات.
    • النطاقات الأخرى: أنشئ ملف assetlinks.json على كل من النطاقات الأخرى، مع ربط كل ملف بالنطاق الأساسي.
  • إعداد ربط مواد العرض الرقمية في بيان كل تطبيق: عليك إعداد كل تطبيق لربطه مرة أخرى بملف assetlinks.json في النطاق الأساسي.

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

يشارك التطبيقان اللذان يحملان اسمَي الحزمة التاليَين أيضًا بيانات الاعتماد مع جميع المواقع الإلكترونية ومع بعضهما:

  • com.example.android.myapplication
  • com.example.appname

قبل إعداد ميزة "مشاركة بيانات الاعتماد"، عليك إكمال المتطلبات الأساسية.

للإفصاح عن مشاركة بيانات الاعتماد على مستوى هذه المواقع الإلكترونية وتطبيقات Android:

  1. أنشئ ملف assetlinks.json يتضمّن المحتوى التالي:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.com"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.org"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.net"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://myownpersonaldomain.com"
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.android.myapplication",
          "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"
          ]
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.appname",
          "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"
          ]
        }
      }
    ]
    
  2. استضِف ملف Digital Asset Links بتنسيق JSON في الموقع الجغرافي المعروف على النطاق الأساسي، وهو في هذه الحالة: https://example.com/.well-known/assetlinks.json.

  3. أنشئ ملف assetlinks.json آخر يتضمّن المحتوى التالي:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. استضافة نُسخ من ملف روابط التنقل إلى مواد العرض الرقمية بتنسيق JSON في الموقع التالي على النطاقات الأخرى، في هذه الحالة:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. أضِف السطر التالي إلى ملفَّي بيان تطبيقات Android ضمن <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. يمكنك ضبط عملية ربط مواد العرض الرقمية في البيان من خلال الإفصاح عن عملية الربط في تطبيق Android. أضِف عنصرًا يحدّد ملفات assetlinks.json المراد تحميلها. في هذه الحالة:

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

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