เริ่มต้นใช้งาน

ภาพรวม

โปรโตคอลและ API ของ Digital Asset Links ช่วยให้แอปหรือเว็บไซต์สามารถสร้างคำสั่งที่ตรวจสอบได้แบบสาธารณะเกี่ยวกับแอปหรือเว็บไซต์อื่นๆ ตัวอย่างเช่น เว็บไซต์ สามารถประกาศว่าเชื่อมโยงกับแอป Android ที่เฉพาะเจาะจง หรือประกาศว่า ต้องการแชร์ข้อมูลเข้าสู่ระบบของผู้ใช้กับเว็บไซต์อื่น

ตัวอย่างการใช้งานลิงก์เนื้อหาดิจิทัลมีดังนี้

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

คำสำคัญ

  • ผู้รับรอง: ผู้รับรองคือแอปหรือเว็บไซต์ที่ออกคำชี้แจง ในลิงก์เนื้อหาดิจิทัล หลักการคือแอปหรือเว็บไซต์ที่โฮสต์รายการคำสั่งเสมอ
  • รายการใบแจ้งหนี้: ใบแจ้งหนี้จะอยู่ในรายการใบแจ้งหนี้ที่มีใบแจ้งหนี้อย่างน้อย 1 รายการ รายการคำสั่งเป็นข้อความธรรมดาและเข้าถึงได้แบบสาธารณะในตำแหน่ง ที่ผู้ใช้หลักควบคุมและยากต่อการปลอมแปลงหรือดัดแปลง โดยอาจเป็นไฟล์แบบสแตนด์อโลนหรือเป็นส่วนหนึ่งของรายการอื่นที่ใหญ่กว่าก็ได้ เช่น ในเว็บไซต์จะเป็นทั้งไฟล์ ส่วนในแอป Android จะเป็นส่วนในไฟล์ Manifest ของแอป ทุกคนสามารถดูและยืนยันข้อความได้โดยใช้วิธีการที่ไม่ใช่กรรมสิทธิ์ ดูข้อมูลเพิ่มเติมในเอกสารประกอบรายการคำสั่ง
  • คำสั่ง: คำสั่งคือโครงสร้าง JSON ที่มีโครงสร้างที่แน่นหนาซึ่งประกอบด้วยความสัมพันธ์ (สิ่งที่คำสั่งบอกให้ทำ เช่น เปิดใช้การแชร์ข้อมูลเข้าสู่ระบบ) และเป้าหมาย (เว็บไซต์หรือแอปที่ความสัมพันธ์มีผล) ดังนั้น แต่ละคำสั่งจึงเหมือนประโยคที่หลักกล่าวถึงความสัมพันธ์เกี่ยวกับเป้าหมาย
  • ผู้ใช้ข้อความ: ผู้ใช้ข้อความจะขอรายการข้อความจากผู้รับมอบอำนาจ ตรวจสอบว่ามีข้อความเทียบกับผู้รับมอบอำนาจที่ระบุหรือไม่ และหากมี ก็จะดำเนินการที่ระบุได้ ดูข้อมูลเพิ่มเติมในเอกสารประกอบเกี่ยวกับการใช้ใบแจ้งยอด

ตัวอย่างการใช้งานอย่างรวดเร็ว

ต่อไปนี้เป็นตัวอย่างที่ง่ายมากเกี่ยวกับวิธีที่เว็บไซต์ www.example.com ใช้ Digital Asset Links เพื่อระบุว่าลิงก์ใดๆ ไปยัง URL ในเว็บไซต์นั้นควรเปิดในแอปที่กำหนดแทนที่จะเป็นเบราว์เซอร์

  1. เว็บไซต์ www.example.com เผยแพร่รายการคำสั่งที่ https://www.example.com/.well-known/assetlinks.json นี่คือชื่อและตำแหน่งอย่างเป็นทางการของรายการคำชี้แจงในเว็บไซต์ รายการคำชี้แจงในตำแหน่งอื่นๆ หรือที่มีชื่ออื่นจะไม่ถูกต้องสำหรับเว็บไซต์นี้ ใน ตัวอย่างของเรา รายการคำสั่งประกอบด้วยคำสั่งเดียว ซึ่งให้สิทธิ์แอป Android ในการเปิดลิงก์ในเว็บไซต์ของตนเอง
    [{
        "relation": ["delegate_permission/common.handle_all_urls"],
        "target" : { "namespace": "android_app", "package_name": "com.example.app",
                     "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
      }]
    รายการคำสั่งรองรับอาร์เรย์ของคำสั่งภายในเครื่องหมาย [ ] แต่ ไฟล์ตัวอย่างของเรามีคำสั่งเพียงรายการเดียว sha256_cert_fingerprints คือลายนิ้วมือ SHA256 ของใบรับรองการลงนามของแอป ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบเกี่ยวกับ Android App Link
  2. แอป Android ที่ระบุไว้ในคำสั่งข้างต้นมีตัวกรอง Intent ที่ระบุรูปแบบของ Scheme, โฮสต์ และเส้นทางของ URL ที่ต้องการ จัดการ ในกรณีนี้คือ https://www.example.com ตัวกรอง Intent มีแอตทริบิวต์พิเศษ android:autoVerify ซึ่งเป็นแอตทริบิวต์ใหม่ใน Android M ซึ่งระบุว่า Android ควรยืนยันคำสั่ง ในเว็บไซต์ที่อธิบายไว้ในตัวกรอง Intent เมื่อติดตั้งแอป
  3. ผู้ใช้ติดตั้งแอป Android จะเห็นตัวกรอง Intent ที่มีแอตทริบิวต์ autoVerify และตรวจสอบว่ามีรายการคำสั่ง ในเว็บไซต์ที่ระบุหรือไม่ หากมี Android จะตรวจสอบ ว่าไฟล์นั้นมีคำสั่งที่ให้สิทธิ์แอปในการจัดการลิงก์หรือไม่ และยืนยันแอปกับคำสั่งโดยใช้แฮชใบรับรอง หากทุกอย่างเรียบร้อยดี Android จะส่งต่อ Intent ของ https://www.example.com ไปยังแอป example.com
  4. ผู้ใช้คลิกลิงก์ไปยัง https://www.example.com/puppies ในอุปกรณ์ของตน ลิงก์นี้อาจอยู่ที่ใดก็ได้ เช่น ในเบราว์เซอร์ ในคำแนะนำของ Google Search Appliance หรือที่อื่นๆ Android จะส่งต่อ Intent ไปยังแอป example.com
  5. แอป example.com จะรับ Intent และเลือกที่จะจัดการ Intent นั้นโดยเปิดหน้าลูกสุนัขในแอป หากแอปปฏิเสธที่จะจัดการลิงก์ด้วยเหตุผลบางประการ หรือหากแอปไม่ได้อยู่ในอุปกรณ์ ระบบจะส่งลิงก์ไปยังตัวแฮนเดิล Intent เริ่มต้นถัดไปที่ตรงกับรูปแบบ Intent นั้น (มักจะเป็นเบราว์เซอร์)

ข้อควรพิจารณาและข้อจำกัดที่สำคัญ

  • โปรโตคอลไม่ได้ตรวจสอบสิทธิ์ของหลักการที่สร้าง คำสั่ง แต่คำสั่งจะอยู่ในตำแหน่งที่เฉพาะเจาะจง ซึ่งเชื่อมโยงกับหลักการอย่างแน่นแฟ้น และอยู่ภายใต้การควบคุมของหลักการ
  • โปรโตคอลไม่ได้ตรวจสอบสิทธิ์เป้าหมายของคำสั่ง แต่มีวิธีให้ผู้โทรตรวจสอบสิทธิ์เป้าหมาย (เช่น คำสั่งระบุเป้าหมายแอปบนอุปกรณ์เคลื่อนที่ โดยใช้แฮชใบรับรองและชื่อแพ็กเกจ)
  • โปรโตคอลไม่ได้ดำเนินการใดๆ กับคำสั่งโดยตรง แต่จะช่วยให้สามารถแสดงคำสั่ง ซึ่งแอปพลิเคชันที่ใช้ ต้องตรวจสอบและตัดสินใจว่าจะดำเนินการหรือไม่และ จะดำเนินการอย่างไร Android M จะดำเนินการตามขั้นตอนเหล่านี้ให้คุณโดยอัตโนมัติ เช่น หากเว็บไซต์มอบสิทธิ์การจัดการลิงก์ให้กับแอปหนึ่งๆ Android จะตรวจสอบและยืนยันข้อความ ยืนยันแอปเป้าหมาย แล้วเสนอตัวเลือกให้แอปจัดการลิงก์ที่ระบุ
  • โปรโตคอลนี้ไม่อนุญาตให้ระบุข้อความเกี่ยวกับบุคคลที่สาม 2 ราย กล่าวคือ เว็บไซต์ ก สามารถระบุข้อความเกี่ยวกับเว็บไซต์ ข ได้ แต่เว็บไซต์ ก ไม่สามารถระบุข้อความเกี่ยวกับความสัมพันธ์ของเว็บไซต์ ข กับเว็บไซต์ ค ได้ อย่างไรก็ตาม หากเว็บไซต์ ข. เชื่อถือเว็บไซต์ ก. ก็สามารถตรวจสอบ เว็บไซต์ ก. เพื่อดูข้อความที่ให้สิทธิ์แก่เว็บไซต์ ค. และตัดสินใจที่จะใช้ข้อความดังกล่าวได้

ขั้นตอนถัดไป

  1. ดูว่ามีเอกสารประกอบที่ชัดเจนสำหรับ Use Case ของคุณหรือไม่
  2. ดูข้อมูลเกี่ยวกับการสร้างใบแจ้งยอด