דוגמה: שיתוף פרטי כניסה בכמה אתרים ואפליקציות ל-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. מארחים את קובץ ה-JSON של Digital Asset Links במיקום הידוע המתאים בדומיין הראשי. במקרה הזה: 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 הזה של Digital Asset Links במיקום הבא בדומיינים האחרים, במקרה הזה:

    • 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.