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

รายการคำสั่งคือไฟล์หรือข้อมูลโค้ดที่เข้ารหัส JSON ในตำแหน่งที่รู้จักกันดี

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

ดูการสร้างรายการคำสั่งเพื่อดูว่าควรจัดเก็บรายการนี้ไว้ที่ใด

ไวยากรณ์

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

[
  {
    "relation": ["relation_string"],
    "target": {target_object}
  } , ...
]
relation
อาร์เรย์ของสตริงอย่างน้อย 1 รายการที่อธิบายความสัมพันธ์ที่ประกาศเกี่ยวกับเป้าหมาย ดูรายการสตริงความสัมพันธ์ที่กำหนด ตัวอย่าง: delegate_permission/common.handle_all_urls
เป้าหมาย
ชิ้นงานเป้าหมายที่ข้อความนี้ใช้ ประเภทเป้าหมายที่ใช้ได้มีดังนี้
relation_extensions (ไม่บังคับ)

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

ตัวอย่างเช่น relation_extensions สำหรับความสัมพันธ์ delegate_permission/common.handle_all_urls อาจมีลักษณะดังนี้

  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.app",
      "sha256_cert_fingerprints": ["..."]
    },
    "relation_extensions": {
      "delegate_permission/common.handle_all_urls": {...}
    }
  }
  

DAL API รองรับการแสดงผล relation_extensions ในการเรียก API เมื่อตั้งค่าพารามิเตอร์ return_relation_extensions=true ในคำขอ

รายการใบแจ้งยอดตัวอย่าง

ตัวอย่างรายการคำสั่งของเว็บไซต์ที่มีคำสั่งเกี่ยวกับทั้งเว็บไซต์และแอปมีดังนี้ http://example.digitalassetlinks.org/.well-known/assetlinks.json

การปรับขนาดเป็นงบอย่างน้อยหลายสิบรายการ

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

ในกรณีเช่นนี้ include statements อาจมีประโยชน์ กลไกนี้ช่วยให้คุณตั้งค่าพอยน์เตอร์จากหลักการที่แตกต่างกันหลายอย่างไปยัง ตำแหน่งส่วนกลางเดียว ซึ่งกำหนดคำสั่งสำหรับหลักการทั้งหมดได้

เช่น คุณอาจตัดสินใจว่าตำแหน่งส่วนกลาง ควรเป็น `https://example.com/includedstatements.json` ไฟล์นี้สามารถ กำหนดค่าให้มีเนื้อหาเดียวกับในตัวอย่างข้างต้นได้

หากต้องการตั้งค่าตัวชี้จากเว็บไซต์ไปยังไฟล์ที่รวม ให้เปลี่ยน `https://example.com/.well-known/assetlinks.json` เป็น

[{
  "include": "https://example.com/includedstatements.json"
}]

หากต้องการตั้งค่าพอยน์เตอร์จากแอป Android ไปยังไฟล์ include ให้เปลี่ยน `res/values/strings.xml` เป็น

<resources>
  ...
  <string name="asset_statements">
    [{
      \"include\": \"https://example.com/includedstatements.json\"
    }]
  </string>
</resources>

ข้อมูลเพิ่มเติม

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