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

רשימת הצהרות היא קובץ או קטע קוד מקודד ב-JSON במיקום ידוע.

המיקום של רשימת ההצהרות

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

תחביר

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

[
  {
    "relation": ["relation_string"],
    "target": {target_object}
  } , ...
]
יחס
מערך של מחרוזת אחת או יותר שמתארת את הקשר שמוצהר לגבי היעד. לרשימת מחרוזות היחס המוגדרות לדוגמה: delegate_permission/common.handle_all_urls
יעד
נכס היעד שאליו מתייחסת ההצהרה הזו. סוגי היעדים הזמינים:
  • "target": {
      "namespace": "web",
      "site": "site_root_url"
    }
    מרחב שמות
    הערך חייב להיות web לאתרים.
    אתר
    מזהה ה-URI של האתר שהוא היעד של ההצהרה, בפורמט http[s]://<hostname>[:<port>], כאשר <hostname> הוא מזהה מלא, ויש להשמיט את <port> כשמשתמשים ביציאה 80 ל-HTTP או ביציאה 443 ל-HTTPS. יעד אתר יכול להיות רק דומיין בסיס. אין אפשרות להגביל לספריית משנה ספציפית; כל הספריות ברמה הבסיסית (root) יהיו תואמות. לא צריך להתייחס לתת-דומיינים כאל התאמה: כלומר, אם קובץ ההצהרה מתארח ב-www.example.com, לא צריך להתייחס לכתובת www.puppies.example.com כאל התאמה. כללים ודוגמאות להתאמה של יעדי אתר זמינים במסמכי התיעוד בנושא יעדים. דוגמה: http://www.example.com
  • "target": {
      "namespace": "android_app",
      "package_name": "fully_qualified_package_name",
      "sha256_cert_fingerprints": ["cert_fingerprint"]
    }
    מרחב שמות
    חובה להיות android_app לאפליקציות ל-Android.
    package_name
    שם החבילה המלא של האפליקציה שהצהרה הזו חלה עליה. דוגמה: com.google.android.apps.maps
    sha256_cert_fingerprints
    טביעת האצבע של SHA265 באותיות רישיות של האישור לאפליקציה שאליה מתייחסת ההצהרה הזו. אפשר לחשב אותו באמצעות openssl או Java keytool, כפי שמוצג כאן:
    • openssl x509 -in $CERTFILE -noout -fingerprint -sha256
    • keytool -printcert -file $CERTFILE | grep SHA256
    לדוגמה: ["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"].

    אם אתם משתמשים בחתימה על אפליקציות ב-Play באפליקציה שלכם, בדרך כלל טביעת האצבע של האישור שנוצרת על ידי הפעלה מקומית של keytool או openssl לא תואמת לטביעת האצבע במכשירים של המשתמשים. ניתן לוודא ששירות חתימת האפליקציה ב-Play משמש את האפליקציה שלך חשבון פיתוח ב-Play Console בכפוף ל-Release > Setup > App Integrity; אם תעשה זאת, נמצא גם את קטע הקוד הנכון של קובץ ה-JSON של Digital Asset Links לאפליקציה שלכם הדף הזה.

דוגמה לרשימת הצהרות

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

התאמה לעשרות הצהרות או יותר

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

במצבים כאלה, מומלץ לכלול הצהרות. באמצעות המנגנון הזה תוכלו להגדיר מצביעים מחשבונות משתמשים רבים ושונים מיקום מרכזי אחד, שמגדיר הצהרות לכל חשבונות המשתמשים.

לדוגמה, ייתכן שתחליטו שהמיקום המרכזי הוא צריך להיות https://example.com/includedstatements.json. הקובץ יכול להיות מוגדר כך שיכיל תוכן זהה לזה שבדוגמאות שלמעלה.

כדי להגדיר הפניה מאתר אינטרנט לקובץ ההכללה, צריך לשנות את 'https://example.com/.well-known/assetlinks.json' ל:

[{
  "include": "https://example.com/includedstatements.json"
}]

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

<resources>
  ...
  <string name="asset_statements">
    [{
      \"include\": \"https://example.com/includedstatements.json\"
    }]
  </string>
</resources>

מידע נוסף

במסמך המפרט שלנו יש הסבר מפורט יותר על הפורמט של רשימת דפי החשבון ועל המושגים הבסיסיים בשימוש.