יצירת רשימת דוחות

ההצהרות מתארחות ברשימת דפי חשבון בקידוד JSON במיקום ידוע בחשבון משתמש, כפי שמוגדר במפרט הקישורים לנכסים. רשימת דפי חשבון מכילה הצהרה אחת או יותר, ולחשבון משתמש יכולה להיות רק רשימה אחת של הצהרות.

תחביר של רשימת דוחות

למידע נוסף על התחביר של רשימת הדוחות.

מיקום רשימת הדוחות

רשימת דפי החשבון מתארחת במיקום ידוע שתלוי בסוג חשבון המשתמש (האפליקציה או האתר שמופיעים בהם ההצהרות).

רשימת דפי חשבון של אתרים

באתר אינטרנט, רשימת דפי חשבון היא קובץ טקסט שנמצא בכתובת הבאה:

scheme://domain/.well-known/assetlinks.json

שימו לב לנקודה בשם של תיקיית .well-known

כל תגובה מהשרת מלבד HTTP 200 נחשבת כשגיאה, ולכן רשימת הצהרות ריקה. ב-HTTPS, כל חיבור ללא שרשרת אישורים שאפשר לאמת באמצעות רשימת הבסיס המהימנה תוביל גם ליצירת רשימה ריקה של הצהרות.

דוגמה

הנה דוגמה לרשימת הצהרות באתר אינטרנט: http://example.digitalassetlinks.org/.well-known/assetlinks.json

רשימות של דפי חשבון באפליקציות ל-Android

באפליקציה ל-Android, רשימת דפי החשבון היא קטע קוד בפורמט JSON עם תחביר שזהה לזה של קובץ דף חשבון אתר, אבל הוא מוטמע בקובץ string.xml, ובמניפסט יש הפניה אליו כפי שמוצג בהמשך.

בקובץ AndroidManifest.xml:

<manifest>
  <application>
    ...
    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    ...
  </application>
</manifest>

ב-res/values/strings.xml:

<resources>
  ...
  <string name="asset_statements">
    ... statement list ...
  </string>
</resources>

דוגמה

קטע קוד לדוגמה של res/values/strings.xml בשביל אפליקציה ל-Android שתומכת בשיתוף מיקום עם האפליקציה (תכונה ל-Android שלא נתמכת כרגע):

<resources>
    ...
    <string name="asset_statements">
      [{
        \"relation\": [\"delegate_permission/common.share_location\"],
        \"target\": {
          \"namespace\": \"web\",
          \"site\": \"https://example.com\"
        }
      }]
    </string>
</resources>

התאמה ליעד

כל הצהרה מתייחסת ליעד. כשצרכת הצהרה, עליך להתאים את היעד בהצהרה מול ישות כלשהי במציאות. אם היעד של ההצהרה תואם לישות, ההצהרה חלה. אלה הכללים שקובעים אם יעד תואם לישות נתונה:

טירגוטים לפי אתר

אם מדובר באתר, סכימת האתר, המארח והיציאה חייבים להיות זהים. את יציאות ברירת המחדל של HTTP ו-HTTPS (80 ו-443 בהתאמה) מניחות באופן מרומז. אם היעד של ההצהרה מתאר את http://www.example.com:80, האתר http://www.example.com נחשב להתאמה.

דוגמה

בהינתן היעד של ההצהרה הבאה

"target": {
  "namespace": "web",
  "site": "https://www.google.com"
}

מזהי ה-URI הבאים WILL תואמים:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.com/

כתובות ה-URL הבאות לא יתאימו:

  • http://www.google.com/ (סכימה שגויה)
  • https://google.com/ (שם המארח לא תואם)
  • https://www.google.com:444/ (היציאה לא תואמת)

יעדים לאפליקציות

עבור אפליקציה, גיבוב האישור ושם החבילה של היעד חייבים להיות זהים לאפליקציה.