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