การสร้างใบแจ้งยอด

คําสั่งจะโฮสต์ในรายการใบแจ้งยอดที่เข้ารหัสด้วย JSON ในตําแหน่งชื่อดังในกลุ่มผู้ใช้หลัก ตามที่กําหนดโดยข้อกําหนดเกี่ยวกับลิงก์เนื้อหา รายการคําสั่งมีคําสั่งได้อย่างน้อย 1 รายการ และผู้ใช้หลักมีรายการย่อยได้เพียงรายการเดียวเท่านั้น

ชุดคําสั่งตามไวยากรณ์

ดูไวยากรณ์รายการใบแจ้งยอด

ตําแหน่งในรายการใบแจ้งยอด

รายชื่อใบแจ้งยอดจะอยู่ในตําแหน่งที่รู้จักกันดี ซึ่งจะขึ้นอยู่กับประเภทของผู้ใช้หลัก (เว็บไซต์หรือแอปที่ใช้คําสั่ง)

รายการใบแจ้งยอดเว็บไซต์

ในเว็บไซต์ รายการใบแจ้งยอดคือไฟล์ข้อความที่อยู่ที่ที่อยู่ต่อไปนี้

scheme://domain/.well-known/assetlinks.json

สังเกตจุดในชื่อโฟลเดอร์ .well-known

การตอบกลับจากเซิร์ฟเวอร์ที่ไม่ใช่ HTTP 200 จะถือว่าเป็นข้อผิดพลาด และจะส่งผลให้รายการใบแจ้งยอดว่างเปล่า สําหรับ HTTPS การเชื่อมต่อทั้งหมดที่ไม่มีเชนใบรับรองที่ยืนยันด้วยรายการรูทที่เชื่อถือได้จะทําให้มีรายการใบแจ้งยอดที่ว่างเปล่าด้วย

ตัวอย่าง

ตัวอย่างรายการข้อความบนเว็บไซต์http://example.digitalassetlinks.org/.well-known/assetlinks.json

รายการคําชี้แจงแอป Android

ในแอป Android รายการคําสั่งคือข้อมูลโค้ด JSON ที่มีไวยากรณ์เดียวกับไฟล์ใบแจ้งยอดเว็บไซต์ แต่ฝังอยู่ในไฟล์ string.xml และอ้างอิงในไฟล์ Manifest ตามที่แสดงถัดไป

ใน AndroidManifest.xml:

<manifest>
  <application>
    ...
    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    ...
  </application>
</manifest>

ใน res/values/strings.xml:

<resources>
  ...
  <string name="asset_statements">
    ... statement list ...
  </string>
</resources>

ตัวอย่าง

ต่อไปนี้คือตัวอย่าง res/values/strings.xml สําหรับแอป Android ที่รองรับการแชร์ตําแหน่งกับแอป (ปัจจุบันฟีเจอร์ Android ยังไม่รองรับ)

<resources>
    ...
    <string name="asset_statements">
      [{
        \"relation\": [\"delegate_permission/common.share_location\"],
        \"target\": {
          \"namespace\": \"web\",
          \"site\": \"https://example.com\"
        }
      }]
    </string>
</resources>

การจับคู่เป้าหมาย

ทุกข้อความเกี่ยวกับเป้าหมาย เมื่อใช้คําแถลงนี้ คุณต้องจับคู่เป้าหมายในคําแถลงเกี่ยวกับเอนทิตีบางรายการในความเป็นจริง หากเป้าหมายใบแจ้งยอดตรงกับเอนทิตี ระบบจะใช้คําสั่งนั้น กฎเพื่อระบุว่าเป้าหมายตรงกับเอนทิตีที่ระบุหรือไม่มีดังนี้

เป้าหมายเว็บไซต์

สําหรับเว็บไซต์ รูปแบบของเว็บไซต์ โฮสต์ และพอร์ตจะต้องตรงกันทุกประการ พอร์ตเริ่มต้นสําหรับ HTTP และ HTTPS (80 และ 443 ตามลําดับ) จะถือว่าโดยปริยาย หากเป้าหมายคําสั่งอธิบายเป็น http://www.example.com:80 จะถือว่าเว็บไซต์ http://www.example.com ตรงกัน

ตัวอย่าง

กําหนดเป้าหมายข้อความต่อไปนี้

"target": {
  "namespace": "web",
  "site": "https://www.google.com"
}

URI ต่อไปนี้จะตรงกัน

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.co.th/

URL ต่อไปนี้จะไม่ตรง

  • http://www.google.com/ (รูปแบบไม่ถูกต้อง)
  • https://google.com/ (ชื่อโฮสต์ไม่ตรงกัน)
  • https://www.google.com:444/ (พอร์ตไม่ตรงกัน)

เป้าหมายแอป

สําหรับแอป แฮชใบรับรองและชื่อแพ็กเกจของเป้าหมายต้องตรงกับแอปพลิเคชันทุกประการ