ตัวอย่าง: แชร์ข้อมูลเข้าสู่ระบบกับหลายเว็บไซต์และแอป Android หลายแอป

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

  • กำหนดโดเมนหลัก: เลือก URL 1 รายการเป็นจุดอ้างอิงหลักสำหรับลิงก์
  • สร้าง assetlinks.json ไฟล์
    • โดเมนหลัก: สร้างไฟล์ assetlinks.json ในโดเมนหลักซึ่งแสดงโดเมนทั้งหมดที่แชร์ข้อมูลเข้าสู่ระบบ
    • โดเมนอื่นๆ: สร้างไฟล์ assetlinks.json บนโดเมนอื่นๆ แต่ละโดเมน โดยแต่ละโดเมนลิงก์กลับไปยังโดเมนหลัก
  • กำหนดค่าการลิงก์เนื้อหาดิจิทัลในไฟล์ Manifest ของแอปแต่ละรายการ: ตั้งค่าแต่ละแอปให้ลิงก์กลับไปยังไฟล์ assetlinks.json ในโดเมนหลัก

ในตัวอย่างนี้ เรากำหนด example.com เป็นโดเมนหลัก และโดเมนอื่นๆ ทั้งหมดที่แสดงจะแชร์ข้อมูลเข้าสู่ระบบกับ example.com และกับโดเมนอื่นๆ เอง

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

  • com.example.android.myapplication
  • com.example.appname

ก่อนตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบ คุณต้องทำตามข้อกําหนดเบื้องต้นให้เสร็จสิ้น

วิธีประกาศการแชร์ข้อมูลเข้าสู่ระบบในเว็บไซต์และแอป Android เหล่านี้

  1. สร้างไฟล์ assetlinks.json ที่มีเนื้อหาต่อไปนี้

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.com"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.org"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.net"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://myownpersonaldomain.com"
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.android.myapplication",
          "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"
          ]
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.appname",
          "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"
          ]
        }
      }
    ]
    
  2. โฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ในตำแหน่งที่รู้จักซึ่งสอดคล้องกับโดเมนหลัก ในกรณีนี้https://example.com/.well-known/assetlinks.json

  3. สร้างไฟล์ assetlinks.json ไฟล์อื่นที่มีเนื้อหาต่อไปนี้

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. ในกรณีนี้ โปรดโฮสต์สำเนาของไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ตำแหน่งต่อไปนี้ในโดเมนอื่นๆ

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ Manifest ของแอป Android ทั้ง 2 ไฟล์ในส่วน <application>

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. กำหนดค่าการลิงก์เนื้อหาดิจิทัลในไฟล์ Manifest ด้วยการประกาศการเชื่อมโยงในแอป Android เพิ่มออบเจ็กต์ที่ระบุไฟล์ assetlinks.json ที่จะโหลด ในกรณีนี้

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

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