รายการคำสั่งคือไฟล์หรือตัวอย่างข้อมูลที่เข้ารหัส JSON ในตำแหน่งที่รู้จักกันดี
ตำแหน่งของรายการใบแจ้งยอด
ดูข้อมูลเกี่ยวกับตำแหน่งที่ควรจัดเก็บรายการนี้ที่หัวข้อการสร้างรายการคำสั่ง
ไวยากรณ์
รายการคำสั่งหรือตัวอย่างข้อมูลประกอบด้วย อาร์เรย์ JSON ของคำสั่งเว็บไซต์หรือแอปอย่างน้อย 1 รายการเป็นออบเจ็กต์ JSON ใบแจ้งยอดเหล่านี้จะเรียงลำดับแบบใดก็ได้ ไวยากรณ์ทั่วไปมีดังนี้
[ { "relation": ["relation_string "], "target": {target_object } } , ... ]
- ความสัมพันธ์
- อาร์เรย์ของสตริงอย่างน้อย 1 รายการที่อธิบายความสัมพันธ์ที่ประกาศเกี่ยวกับเป้าหมาย ดูรายการสตริงความสัมพันธ์ที่กำหนดไว้ เช่น
delegate_permission/common.handle_all_urls
- เป้าหมาย
- เนื้อหาเป้าหมายที่มีผลกับข้อความนี้ ประเภทเป้าหมายที่ใช้ได้มีดังนี้
-
เป้าหมายเว็บไซต์ "target": { "namespace": "web", "site": "
site_root_url " }- เนมสเปซ
- ต้องเป็น
web
สำหรับเว็บไซต์ - เว็บไซต์
- URI ของเว็บไซต์ที่เป็นเป้าหมายของคำสั่งในรูปแบบ
http[s]://<hostname>[:<port>]
โดยที่ <hostname> ต้องเป็น URI แบบเต็มที่ และจะต้องไม่ใส่ <port> เมื่อใช้พอร์ต 80 สำหรับ HTTP หรือพอร์ต 443 สำหรับ HTTPS เป้าหมายเว็บไซต์จะเป็นโดเมนรากได้เท่านั้น คุณไม่สามารถจํากัดเฉพาะไดเรกทอรีย่อยที่เฉพาะเจาะจงได้ ไดเรกทอรีทั้งหมดภายใต้รากนี้จะตรงกับ ระบบจะไม่ถือว่าโดเมนย่อยตรงกัน กล่าวคือ หากไฟล์คำสั่งโฮสต์อยู่ใน www.example.com ระบบจะไม่ถือว่า www.puppies.example.com ตรงกัน ดูกฎและตัวอย่างเกี่ยวกับการจับคู่เป้าหมายเว็บไซต์ได้ที่เอกสารประกอบเกี่ยวกับเป้าหมาย เช่นhttp://www.example.com
-
เป้าหมายแอป Android "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- เนมสเปซ
- ต้องเป็น
android_app
สำหรับแอป Android - package_name
- ชื่อแพ็กเกจที่สมบูรณ์ในตัวเองของแอปที่ใช้คำสั่งนี้ เช่น
com.google.android.apps.maps
- sha256_cert_fingerprints
- ลายนิ้วมือ SHA265 ตัวพิมพ์ใหญ่ของใบรับรองสําหรับแอปที่ใช้คำสั่งนี้ คุณสามารถคํานวณตัวแปรนี้ได้โดยใช้
openssl
หรือ Javakeytool
ดังที่แสดงไว้ที่นี่openssl x509 -in $CERTFILE -noout -fingerprint -sha256
keytool -printcert -file $CERTFILE | grep SHA256
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
หากคุณใช้ Play App Signing สำหรับแอป ลายนิ้วมือของใบรับรองที่สร้างขึ้นโดยการเรียกใช้
keytool
หรือopenssl
ในเครื่องมักจะไม่ตรงกับลายนิ้วมือในอุปกรณ์ของผู้ใช้ คุณสามารถตรวจสอบว่าคุณใช้ Play App Signing สําหรับแอปในบัญชีนักพัฒนาแอป Play Console หรือไม่ในส่วน Release > Setup > App Integrity หากใช้อยู่ คุณจะเห็นข้อมูลโค้ด JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ถูกต้องสําหรับแอปในหน้าเดียวกันด้วย
-
ตัวอย่างรายการคำสั่ง
ตัวอย่างรายการคำสั่งของเว็บไซต์ที่มีคำสั่งเกี่ยวกับทั้งเว็บไซต์และแอปมีดังนี้ http://example.digitalassetlinks.org/.well-known/assetlinks.json
การปรับขนาดเป็นงบการเงินหลายสิบรายการขึ้นไป
ในบางกรณี ผู้รับมอบสิทธิ์อาจต้องการออกประกาศหลายรายการเกี่ยวกับเป้าหมายที่แตกต่างกัน หรืออาจจําเป็นต้องออกประกาศจากผู้รับมอบสิทธิ์คนละรายไปยังเป้าหมายชุดเดียวกัน ตัวอย่างเช่น เว็บไซต์อาจพร้อมให้บริการในโดเมนระดับบนสุดหลายรายการในแต่ละประเทศ และโดเมนทั้งหมดอาจต้องการแสดงข้อมูลเกี่ยวกับแอปบนอุปกรณ์เคลื่อนที่เดียวกัน
คำสั่งรวมอาจมีประโยชน์ในสถานการณ์เหล่านี้ เมื่อใช้กลไกนี้ คุณสามารถตั้งค่าตัวชี้จากผู้ใช้หลักจำนวนมากให้ สถานที่ส่วนกลางแห่งเดียว ซึ่งจะกำหนดข้อความสำหรับผู้ใช้หลักทั้งหมด
ตัวอย่างเช่น คุณอาจตัดสินใจว่าตำแหน่งส่วนกลางควรเป็น `https://example.com/includedstatements.json` ไฟล์นี้สามารถกําหนดค่าให้มีเนื้อหาเหมือนกับในตัวอย่างด้านบน
หากต้องการตั้งค่าพอยน์เตอร์จากเว็บไซต์ไปยังไฟล์รวม ให้เปลี่ยน `https://example.com/.well-known/assetlinks.json` เป็น
[{ "include": "https://example.com/includedstatements.json" }]
หากต้องการตั้งค่าพอยน์เตอร์จากแอป Android ไปยังไฟล์รวม ให้เปลี่ยน `res/values/strings.xml` เป็น
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
ข้อมูลเพิ่มเติม
มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับรูปแบบรายการคำสั่งและแนวคิดสำคัญในเอกสารข้อกำหนดของเรา