רשימת ההצהרות היא קובץ או קטע בקידוד JSON במיקום ידוע.
מיקום רשימת ההצהרות
במאמר בנושא יצירת רשימת הצהרות מוסבר איפה צריך לשמור את הרשימה הזו.
תחביר
רשימת ההצהרות או קטע הקוד מורכבים ממערך JSON של הצהרה אחת או יותר של אתר או אפליקציה כאובייקטים בפורמט JSON. אפשר לכתוב את ההצהרות בכל סדר. זהו התחביר הכללי:
[ { "relation": ["relation_string"], "target": {target_object} } , ... ]
- relation
- מערך של מחרוזת אחת או יותר שמתארות את הקשר שמוצהר לגבי היעד. כאן מפורטת רשימת המחרוזות של קשרי הגומלין המוגדרים. דוגמה:
delegate_permission/common.handle_all_urls
- יעד
- הנכס שאליו מתייחסת ההצהרה הזו. סוגי היעדים הזמינים:
- relation_extensions (אופציונלי)
-
אפשר להוסיף לשורה הצהרה אופציונלית
relation_extensions
כדי לספק מידע נוסף על ההרשאות והשיוכים שרוצים להעניק. השדה הזה צריך להיות אובייקט שבו כל מפתח הוא מחרוזת של קשר, והערך הוא אובייקט שמכיל את התוספים של הקשר הזה. צריך לעדכן את הלקוחות שמבקשים את הדוחות האלה כדי שהם יתייחסו לשדות האלה.לדוגמה,
relation_extensions
עבור הקשרdelegate_permission/common.handle_all_urls
יכול להיראות כך:{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.app", "sha256_cert_fingerprints": ["..."] }, "relation_extensions": { "delegate_permission/common.handle_all_urls": {...} } }
ה-API של DAL תומך בהחזרת relation_extensions בקריאות ל-API, כשהפרמטר
return_relation_extensions=true
מוגדר בבקשה.
רשימת הצהרות לדוגמה
הנה דוגמה לרשימת הצהרות באתר שמכילה הצהרות לגבי אתרים ואפליקציות: 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 לקובץ include, משנים את `res/values/strings.xml` כך:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
מידע נוסף
הסבר מפורט יותר על הפורמט של רשימת ההצהרות ועל המושגים שמאחורי הפורמט הזה מופיע במסמך המפרט.