ตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในแอปและเว็บไซต์ต่างๆ ของ Android

เพิ่มความสะดวกให้กับผู้ใช้สูงสุดด้วยการเปิดใช้การแชร์ข้อมูลเข้าสู่ระบบข้ามแพลตฟอร์มอย่างราบรื่นในแอปและเว็บไซต์ เมื่อเว็บไซต์และแอป Android หลายรายการใช้แบ็กเอนด์การจัดการบัญชีร่วมกัน ฟีเจอร์นี้จะช่วยให้ผู้ใช้บันทึกข้อมูลเข้าสู่ระบบได้เพียงครั้งเดียวและระบบจะแนะนำข้อมูลเข้าสู่ระบบนั้นโดยอัตโนมัติในเว็บไซต์หรือแอป Android ที่ลิงก์ไว้

แนวทางปฏิบัติแนะนำ

ใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในทัชพอยต์ต่อไปนี้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานและความปลอดภัยที่ดีที่สุด

  • แบบฟอร์มการลงชื่อเข้าใช้: เปิดใช้การป้อนข้อมูลเข้าสู่ระบบอัตโนมัติ
  • แบบฟอร์มลงชื่อสมัครใช้: จัดเก็บข้อมูลเข้าสู่ระบบใหม่อย่างปลอดภัยเพื่อใช้ในแพลตฟอร์มต่างๆ
  • แบบฟอร์มเปลี่ยนรหัสผ่าน: ซิงค์การอัปเดตรหัสผ่านในแพลตฟอร์มทั้งหมด
  • แบบฟอร์มการรีเซ็ตรหัสผ่าน: อนุญาตให้รีเซ็ตรหัสผ่านครั้งเดียวเพื่ออัปเดตแพลตฟอร์มทั้งหมด
  • โดเมน WebView: ขยายการแชร์ข้อมูลเข้าสู่ระบบไปยังโดเมน WebView ภายในแอปที่จัดการการจัดการบัญชี (แบบฟอร์มการลงชื่อเข้าใช้ของโฮสต์ การลงชื่อสมัครใช้ การเปลี่ยนรหัสผ่าน หรือการรีเซ็ตรหัสผ่าน)
  • แอป Android

แนวทางนี้สร้างระบบการจัดการข้อมูลเข้าสู่ระบบแบบรวม ซึ่งช่วยเพิ่มความสะดวกและความปลอดภัยให้แก่ผู้ใช้

เมื่อออกแบบเว็บไซต์การจัดการบัญชี เราขอแนะนำให้คุณทําตามแนวทางปฏิบัติแนะนำต่อไปนี้สําหรับเว็บไซต์การจัดการบัญชี

เมื่อออกแบบแอป Android เราขอแนะนำให้คุณผสานรวมแอปกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบของ Android

ข้อกำหนดเบื้องต้น

ก่อนตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบอย่างราบรื่น โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้สำหรับแต่ละแพลตฟอร์ม

สําหรับแอป Android แต่ละแอป

สำหรับแต่ละเว็บไซต์

  • ความสามารถในการเผยแพร่ไฟล์ /.well-known/assetlinks.json ในโดเมนที่เกี่ยวข้องแต่ละโดเมนตามไวยากรณ์ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
  • โดเมนการจัดการบัญชีทั้งหมด (แบบฟอร์มการลงชื่อเข้าใช้ การลงชื่อสมัครใช้ การเปลี่ยนรหัสผ่าน หรือการเปลี่ยนรหัสผ่าน) ต้องเข้าถึงได้ผ่าน HTTPS

เปิดใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในแอปและเว็บไซต์ต่างๆ ของ Android

หากต้องการกำหนดค่าการแชร์ข้อมูลเข้าสู่ระบบในแอปและเว็บไซต์อย่างราบรื่น คุณจะต้องสร้างและเผยแพร่รายการคำสั่งลิงก์เนื้อหาดิจิทัลที่ประกาศว่าเอนทิตีใด (เว็บไซต์หรือแอป Android) ได้รับอนุญาตให้แชร์ข้อมูลเข้าสู่ระบบ

วิธีประกาศความสัมพันธ์การแชร์ข้อมูลเข้าสู่ระบบ

  1. สร้างไฟล์ assetlinks.json ที่มีคำสั่งที่ลิงก์ไปยังเว็บไซต์และแอป Android โดยทำตามไวยากรณ์รายการคำสั่ง DALs ดังนี้

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    โดยที่ URL คือ URL ของเว็บไซต์ APP_ID คือ รหัสแอปพลิเคชัน Android และ SHA_HEX_VALUE คือลายนิ้วมือ SHA256 ของใบรับรองการลงนามแอป Android

    ช่อง relation จะอธิบายความสัมพันธ์ที่กำลังประกาศ หากต้องการประกาศว่าแอปและเว็บไซต์ใช้ข้อมูลเข้าสู่ระบบร่วมกัน ให้ระบุความสัมพันธ์เป็นdelegate_permission/common.get_login_creds ดูข้อมูลเพิ่มเติมเกี่ยวกับสตริงความสัมพันธ์ใน DAL

    ฟิลด์ target คือออบเจ็กต์ที่ระบุเนื้อหาที่ใช้ประกาศ

    ฟิลด์ต่อไปนี้จะระบุเว็บไซต์

    namespace

    web

    site

    URL ของเว็บไซต์ในรูปแบบ https://domain[:optional_port] เช่น https://www.example.com

    domain ต้องระบุค่าอย่างเต็มรูปแบบ และไม่ต้องระบุ optional_port เมื่อใช้พอร์ต 443 สำหรับ HTTPS

    เป้าหมาย site ต้องเป็นโดเมนรูทเท่านั้น คุณไม่สามารถจํากัดการเชื่อมโยงแอปกับไดเรกทอรีย่อยที่เฉพาะเจาะจงได้ อย่าใส่เส้นทางใน URL เช่น เครื่องหมายทับต่อท้าย

    ระบบจะไม่ถือว่าโดเมนย่อยตรงกัน กล่าวคือ หากคุณระบุ domain เป็น www.example.com โดเมน www.counter.example.com จะไม่เชื่อมโยงกับแอปของคุณ

    ฟิลด์ต่อไปนี้จะระบุแอป Android

    เนมสเปซ

    android_app

    package_name

    ชื่อแพ็กเกจที่ประกาศไว้ในไฟล์ Manifest ของแอป เช่น com.example.android

    sha256_cert_fingerprints

    ลายนิ้วมือ SHA256 ของใบรับรองที่ลงนามของแอป

  2. โฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ในตำแหน่งต่อไปนี้ในโดเมนการลงชื่อเข้าใช้ https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json โดยที่ DOMAIN เป็นโดเมนแบบเต็ม และจะต้องยกเว้น OPTIONAL_PORT เมื่อใช้พอร์ต 443 สำหรับ HTTPS

  3. ประกาศการเชื่อมโยงในแอป Android ด้วยการฝังคำสั่งในไฟล์ res/values/strings.xml ของแอป Android ซึ่งลิงก์กับรายการคำสั่งที่คุณสร้างขึ้นในขั้นตอนที่ 1 เพิ่มออบเจ็กต์ที่ระบุไฟล์ assetlinks.json ที่จะโหลด เช่น

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

    แทนที่ DOMAIN และ OPTIONAL_PORT (ไม่ต้องใส่เมื่อใช้พอร์ต 443 สำหรับ HTTPS) เช่น https://www.example.com ไม่ใช้เครื่องหมายอะพอสทรอฟี และเครื่องหมายคำพูดที่คุณใช้ในสตริง

    นอกจากนี้ คุณยังเพิ่มข้อมูลโค้ด JSON ในไฟล์ strings.xml ได้ดังที่แสดงในเอกสารประกอบของ DAL แต่การใช้คำสั่ง include จะช่วยให้คุณเปลี่ยนแปลงคำสั่งได้โดยไม่ต้องเผยแพร่แอปเวอร์ชันใหม่

  4. อ้างอิงคำสั่งในไฟล์ Manifest โดยเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ AndroidManifest.xml ของแอปในส่วน <application>

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. เผยแพร่แอป Android เวอร์ชันใหม่ใน Google Play Console

หลังจากทำตามขั้นตอนเหล่านี้ คุณได้ตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นระหว่างเว็บไซต์และแอป Android เรียบร้อยแล้ว

โปรดทราบว่านี่ไม่ใช่วิธีเดียวที่ถูกต้องในการตั้งค่า DAL สำหรับการแชร์ข้อมูลเข้าสู่ระบบ แต่วิธีนี้ช่วยให้กระบวนการเพิ่มเอนทิตีใหม่ไปยังเครือข่ายการแชร์ข้อมูลเข้าสู่ระบบเป็นไปอย่างราบรื่นในอนาคต ส่งเสริมการนำโค้ดมาใช้ซ้ำ และลดโอกาสที่จะเกิดข้อผิดพลาดระหว่างการอัปเดต