ההצהרות מאוחסנות ברשימת הצהרות בקידוד JSON במיקום ידוע בפרינציפל, כפי שמוגדר במפרט Asset Links. רשימת הצהרות מכילה הצהרה אחת או יותר, ולכל גורם יכולה להיות רק רשימת הצהרות אחת.
תחביר של רשימת הצהרות
מיקום רשימת ההצהרות
רשימת ההצהרות מתארחת במיקום מוכר שתלוי בסוג הגורם העיקרי (האתר או האפליקציה שיוצרים את ההצהרות).
רשימות הצהרות באתר
באתר, רשימת ההצהרות היא קובץ טקסט שנמצא בכתובת הבאה:
scheme://domain/.well-known/assetlinks.json
שימו לב לנקודה בשם התיקייה .well-known.
כל תגובה מהשרת מלבד HTTP 200 נחשבת כשגיאה, ותוביל לרשימה ריקה של הצהרות. ב-HTTPS, כל חיבור ללא שרשרת אישורים שאפשר לאמת באמצעות רשימת הבסיסים המהימנים יגרום גם הוא לרשימה ריקה של הצהרות.
דוגמה
הנה דוגמה לרשימת הצהרות באתר: http://example.digitalassetlinks.org/.well-known/assetlinks.json
רשימות הצהרות של אפליקציות ל-Android
באפליקציית Android, רשימת ההצהרות היא קטע JSON עם תחביר זהה לקובץ הצהרות של אתר, אבל היא מוטמעת בקובץ strings.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 הבאים יתאימו :
- 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/ (היציאה לא תואמת)
יעדים לקידום אפליקציות
באפליקציה, הגיבוב של האישור ושם החבילה של היעד חייבים להיות זהים לאלה של האפליקציה.