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

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

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

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

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

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

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

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

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

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

สำหรับแอป Android แต่ละแอป ให้ทำดังนี้

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

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

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

หากต้องการกำหนดค่าการแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นระหว่างแอปและเว็บไซต์ คุณต้องสร้าง และเผยแพร่รายการแถลงการณ์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ประกาศว่า เอนทิตี (เว็บไซต์หรือแอป 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 ได้ดังที่แสดงใน เอกสารประกอบ DALs แต่การใช้คำสั่ง include จะให้คุณ โดยไม่เผยแพร่แอปเวอร์ชันใหม่

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

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. เผยแพร่แอป Android เวอร์ชันใหม่ให้กับนักพัฒนาแอป Google Play คอนโซล

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

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