דוגמה: שיתוף פרטי כניסה בכמה אתרים ואפליקציות ל-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.