הפעלה של כניסה אוטומטית לאפליקציות ולאתרים

אם האפליקציה שמשתמשת ב-Smart Lock לסיסמאות משתפת מסד נתונים של משתמשים עם או אם האפליקציה והאתר שלכם משתמשים בספקי כניסה מאוחדים, למשל. בתור כניסה באמצעות חשבון Google — אפשר לשייך את האפליקציה לאתר כדי למשתמשים שומרים את פרטי הכניסה שלהם פעם אחת ולאחר מכן נכנסים באופן אוטומטי האפליקציה והאתר.

כדי לשייך אפליקציה לאתר, צריך להצהיר על שיוכים על ידי אירוח של בקובץ ה-JSON עם ה-Digital Asset Links באתר. להוסיף קישור לקובץ Digital Asset Link למניפסט של האפליקציה.

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

דרישות מוקדמות

דומיין הכניסה של האתר חייב להיות זמין באמצעות HTTPS.

שיוך האפליקציה לאתר

  1. יוצרים קובץ 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

    מידע נוסף בחומר העזר בנושא קישורים לנכסים דיגיטליים אפשר לקבל פרטים נוספים.

  2. מארחים את קובץ ה-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.

  3. עליך לוודא שהמארח מאפשר ל-Google לאחזר את הקישור לנכס הדיגיטלי שלך חדש. אם יש לכם קובץ robots.txt, הוא חייב לאפשר לסוכן Googlebot: אחזור /.well-known/assetlinks.json. רוב האתרים יכולים פשוט לאפשר סוכן אוטומטי יאחזר קבצים בנתיב /.well-known/ כדי השירותים האלה יכולים לגשת למטא-נתונים בקבצים האלה:

    User-agent: *
    Allow: /.well-known/
    

  4. להצהיר על השיוך באפליקציה ל-Android.

    1. מוסיפים את השורה הבאה לקובץ המניפסט דרך <application>:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. צריך להוסיף משאב של מחרוזת 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
      
  5. מפרסמים את האפליקציה בחנות Google Play. צריך לפרסם אותו לציבור הרחב. ערוץ לאיסוף איגודים.

  6. (אופציונלי) ממלאים ושולחים את טופס השיוך של '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"
    ]
  }
}]

לאחר מכן מצהירים על השיוך בשתי האפליקציות:

  1. מוסיפים את השורה הבאה לקובץ המניפסט דרך <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. מוסיפים את משאב המחרוזת הבא לקובץ 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"
}]

לסיום, מצהירים על השיוך בשתי האפליקציות:

  1. מוסיפים את השורה הבאה לקובץ המניפסט דרך <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. מוסיפים את משאב המחרוזת הבא לקובץ strings.xml:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
    }]
    </string>