ไวยากรณ์ของรายการใบแจ้งยอด
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
รายการคำสั่งคือไฟล์หรือตัวอย่างข้อมูลที่เข้ารหัส 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
หรือ Java keytool
ดังที่แสดงไว้ที่นี่
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
การปรับขนาดเป็นงบการเงินหลายสิบรายการขึ้นไป
ในบางกรณี ผู้รับมอบสิทธิ์อาจต้องการออกประกาศหลายรายการเกี่ยวกับเป้าหมายที่แตกต่างกัน หรืออาจจําเป็นต้องออกประกาศจากผู้รับมอบสิทธิ์คนละรายไปยังเป้าหมายชุดเดียวกัน ตัวอย่างเช่น เว็บไซต์อาจพร้อมให้บริการในโดเมนระดับบนสุดหลายรายการในแต่ละประเทศ และโดเมนทั้งหมดอาจต้องการแสดงข้อมูลเกี่ยวกับแอปบนอุปกรณ์เคลื่อนที่เดียวกัน
คำสั่งรวม อาจมีประโยชน์ในสถานการณ์เหล่านี้
เมื่อใช้กลไกนี้ คุณสามารถตั้งค่าตัวชี้จากผู้ใช้หลักจำนวนมากให้
สถานที่ส่วนกลางแห่งเดียว ซึ่งจะกำหนดข้อความสำหรับผู้ใช้หลักทั้งหมด
หมายเหตุ: อนุญาตให้มีคำสั่งรวมได้สูงสุด 10 รายการในต้นไม้รายการคำสั่งที่สมบูรณ์ ซึ่งหมายความว่าจำนวนไฟล์สูงสุดในโครงสร้างคือ (รวม 10 ไฟล์)
ไฟล์ใบแจ้งยอด) + (ไฟล์คำสั่งราก) = ทั้งหมด 11
ตัวอย่างเช่น คุณอาจตัดสินใจว่าตำแหน่งส่วนกลางควรเป็น `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>
มีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับรูปแบบรายการคำสั่งและแนวคิดสำคัญในเอกสารข้อกำหนด ของเรา
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-10-14 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2024-10-14 UTC"],[[["A statement list is a JSON file that describes relationships between websites and Android apps, used for features like Digital Asset Links."],["The list consists of statements with \"relation\" and \"target\" fields, where \"target\" can be a website or an Android app."],["Website targets are specified using a \"site\" field with a URL, while Android app targets use \"package_name\" and \"sha256_cert_fingerprints\"."],["For many statements, use \"include\" to point to a central file to avoid redundancy and simplify management."],["Detailed syntax and examples are provided to guide you in creating and using statement lists effectively."]]],[]]