אם האפליקציה שמשתמשת ב-Smart Lock לסיסמאות משתפת מסד נתונים של משתמשים עם או אם האפליקציה והאתר שלכם משתמשים בספקי כניסה מאוחדים, למשל. בתור כניסה באמצעות חשבון Google — אפשר לשייך את האפליקציה לאתר כדי למשתמשים שומרים את פרטי הכניסה שלהם פעם אחת ולאחר מכן נכנסים באופן אוטומטי האפליקציה והאתר.
כדי לשייך אפליקציה לאתר, צריך להצהיר על שיוכים על ידי אירוח של בקובץ ה-JSON עם ה-Digital Asset Links באתר. להוסיף קישור לקובץ Digital Asset Link למניפסט של האפליקציה.
אירוח ההצהרה על קישורים לנכסים דיגיטליים באתר שלכם מאפשר גם את האתר שלכם כדי לשתף מילוי אוטומטי נתונים עם האפליקציה שלך בזמן הפעלה ב-Android מגרסה 8.0 ואילך.
דרישות מוקדמות
דומיין הכניסה של האתר חייב להיות זמין באמצעות HTTPS.
שיוך האפליקציה לאתר
יוצרים קובץ JSON עם Digital Asset Links.
לדוגמה, להצהיר שהאתר
https://signin.example.com
וגם אפליקציה ל-Android עם שם החבילהcom.example
יכולה לשתף את תהליך הכניסה של פרטי הכניסה, יוצרים קובץ בשםassetlinks.json
עם content:[{ "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://signin.example.com" } }, { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "android_app", "package_name": "com.example", "sha256_cert_fingerprints": [ "F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B" ] } }]
השדה
relation
הוא מערך של מחרוזת אחת או יותר שמתארת את על קשר גומלין מוצהר. כדי להצהיר על כך שאפליקציות ואתרים חולקים את פרטי הכניסה פרטי כניסה, ציון המחרוזתdelegate_permission/common.get_login_creds
השדה
target
הוא אובייקט שמציין את הנכס שההצהרה חל על. השדות הבאים מזהים אתר:namespace
web
site
כתובת האתר, בפורמט
https://domain[:optional_port]
; עבור לדוגמה,https://www.example.com
.domain חייבים להיות מוגדרים במלואם. צריך להשמיט את optional_port כשמשתמשים ביציאה 443 בשביל HTTPS.
יעד
site
יכול להיות רק דומיין בסיס: לא ניתן להגביל שיוך של אפליקציה לספריית משנה ספציפית. אין לכלול הנתיב שבכתובת ה-URL, למשל קו נטוי בסוף.תת-דומיינים לא נחשבים תואמים: כלומר, אם תציינו את domain בתור
www.example.com
, הדומייןwww.counter.example.com
לא משויך לאפליקציה שלך.בשדות הבאים מזהים אפליקציה ל-Android:
namespace
android_app
package_name
שם החבילה שצוין במניפסט של האפליקציה. לדוגמה, com.example.android
sha256_cert_fingerprints
טביעות האצבעות מסוג SHA256 של אישור החתימה של האפליקציה. אפשר משתמשים בפקודה הבאה כדי ליצור את טביעת האצבע: $ keytool -list -v -keystore my-release-key.keystore
מידע נוסף בחומר העזר בנושא קישורים לנכסים דיגיטליים אפשר לקבל פרטים נוספים.
מארחים את קובץ ה-JSON עם ה-Digital Assets Link במיקום הבא דומיין לכניסה:
https://domain[:optional_port]/.well-known/assetlinks.json
לדוגמה, אם דומיין הכניסה שלכם הוא
signin.example.com
, צריך לארח את קובץ ה-JSON בקובץhttps://signin.example.com/.well-known/assetlinks.json
.סוג ה-MIME של הקובץ Digital Asset Link צריך להיות JSON. כדאי לוודא השרת שולח בתגובה את הכותרת
Content-Type: application/json
.עליך לוודא שהמארח מאפשר ל-Google לאחזר את הקישור לנכס הדיגיטלי שלך חדש. אם יש לכם קובץ
robots.txt
, הוא חייב לאפשר לסוכן Googlebot: אחזור/.well-known/assetlinks.json
. רוב האתרים יכולים פשוט לאפשר סוכן אוטומטי יאחזר קבצים בנתיב/.well-known/
כדי השירותים האלה יכולים לגשת למטא-נתונים בקבצים האלה:User-agent: * Allow: /.well-known/
להצהיר על השיוך באפליקציה ל-Android.
מוסיפים את השורה הבאה לקובץ המניפסט דרך
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
צריך להוסיף משאב של מחרוזת
asset_statements
לקובץstrings.xml
. המחרוזתasset_statements
היא אובייקט JSON שמציין אתassetlinks.json
קבצים לטעינה. צריך לסמן בתו בריחה (escape) את כל הגרשיים המירכאות שבהן משתמשים במחרוזת. לדוגמה:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>
> GET /.well-known/assetlinks.json HTTP/1.1 > User-Agent: curl/7.35.0 > Host: signin.example.com < HTTP/1.1 200 OK < Content-Type: application/json
מפרסמים את האפליקציה בחנות Google Play. צריך לפרסם אותו לציבור הרחב. ערוץ לאיסוף איגודים.
(אופציונלי) ממלאים ושולחים את טופס השיוך של 'Smart Lock לסיסמאות' כדי לציין שעבדת לאורך התהליך. Google בודקת מדי פעם אם שיוכים נשלחת באמצעות הטופס בפועל ועשויה ליצור איתך קשר במקרה או בעיות.
בסיום האימות, משתמשי האפליקציה יוכלו לשמור את פרטי הכניסה שלהם ב- באפליקציה או באתר שלכם, ותיכנסו לחשבון באופן אוטומטי בשניהם.
דוגמה: שיוך של כמה אפליקציות לאתר
אפשר לשייך כמה אפליקציות לאתר על ידי ציון כל אפליקציה ב
קובץ קישור לנכסים דיגיטליים. לדוגמה, כדי לשייך את com.example
ואת
com.example.pro
אפליקציות מהאתר ב-https://signin.example.com/
, יש לציין
את שתי האפליקציות בקובץ ה-JSON שמתארח ב-
https://signin.example.com/.well-known/assetlinks.json
:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://signin.example.com"
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example.pro",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
}]
לאחר מכן מצהירים על השיוך בשתי האפליקציות:
מוסיפים את השורה הבאה לקובץ המניפסט דרך
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
מוסיפים את משאב המחרוזת הבא לקובץ
strings.xml
:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>
דוגמה: שיוך אפליקציות לכמה אתרים
אפשר לשייך אפליקציות למספר אתרים על ידי ציון כל אחד מהאתרים בקטע
קובץ 'קישור לנכסים דיגיטליים', שמארחים את הקובץ בכל אתר. לדוגמה, כדי
לשייך את האפליקציות com.example
ו-com.example.pro
לאתר ב-
https://signin.example.com/
ו-https://m.example.com/
, מציינים
את האפליקציות וגם את האתרים בקובץ ה-JSON שמתארח ב-
https://signin.example.com/.well-known/assetlinks.json
:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://signin.example.com"
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://m.example.com"
},
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.example.pro",
"sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
]
}
}]
לאחר מכן, בקובץ ה-JSON שמתארח בכתובת
https://m.example.com/.well-known/assetlinks.json
, צריך לכלול את תג הדיגיטל הראשי
קובץ קישורים לנכסים:
[{
"include": "https://signin.example.com/.well-known/assetlinks.json"
}]
לסיום, מצהירים על השיוך בשתי האפליקציות:
מוסיפים את השורה הבאה לקובץ המניפסט דרך
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
מוסיפים את משאב המחרוזת הבא לקובץ
strings.xml
:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>