ภาพรวม

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

ตัวอย่างกรณีการใช้งานมีดังนี้

  • ไวท์บอร์ดสำหรับการทำงานร่วมกัน: จดไอเดียร่วมกับผู้เข้าร่วมที่อยู่ใกล้เคียงบนไวท์บอร์ดเสมือนจริงที่แชร์
  • การเล่นหลายคนในเครื่องเดียว: ตั้งค่าเกมแบบผู้เล่นหลายคนและเชิญผู้ใช้คนอื่นๆ ในบริเวณใกล้เคียงให้เข้าร่วม
  • การเล่นเกมแบบหลายหน้าจอ: ใช้โทรศัพท์หรือแท็บเล็ตเป็นเกมคอนโทรลเลอร์เพื่อเล่นเกมที่แสดงบนอุปกรณ์ Android หน้าจอขนาดใหญ่ที่อยู่ใกล้เคียง เช่น Android TV
  • การโอนไฟล์แบบออฟไลน์: แชร์รูปภาพ วิดีโอ หรือข้อมูลประเภทอื่นๆ ได้อย่างรวดเร็วโดยไม่ต้องเชื่อมต่อเครือข่าย

บทนำ

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

เป้าหมายหลักของ API นี้คือการมอบแพลตฟอร์มที่เรียบง่าย เชื่อถือได้ และมีประสิทธิภาพ เบื้องหลังการทำงาน API นี้ใช้เทคโนโลยีบลูทูธ, BLE และ Wi-Fi ร่วมกัน โดยใช้ประโยชน์จากจุดแข็งของแต่ละเทคโนโลยีพร้อมกับหลีกเลี่ยงจุดอ่อนของแต่ละเทคโนโลยี ซึ่งจะช่วยลดความซับซ้อนของบลูทูธและ Wi-Fi ในแพลตฟอร์มและเวอร์ชันระบบปฏิบัติการต่างๆ ได้อย่างมีประสิทธิภาพ ช่วยให้นักพัฒนาแอปมุ่งเน้นไปที่ฟีเจอร์ที่สำคัญต่อผู้ใช้ได้

ภาพรวม API

การใช้งาน API แบ่งออกเป็น 2 ระยะ ได้แก่ ก่อนการเชื่อมต่อและหลังการเชื่อมต่อ

ในระยะก่อนการเชื่อมต่อ ผู้โฆษณาจะโฆษณาตนเอง ขณะที่ผู้ค้นพบจะค้นพบผู้โฆษณาที่อยู่ใกล้เคียงและส่งคำขอเชื่อมต่อ คำขอเชื่อมต่อจากผู้ค้นพบไปยังผู้ลงโฆษณาจะเริ่มต้นขั้นตอนการตรวจสอบสิทธิ์แบบสมมาตร ซึ่งส่งผลให้ทั้ง 2 ฝ่ายยอมรับ (หรือปฏิเสธ) คำขอเชื่อมต่ออย่างเป็นอิสระจากกัน

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

การโฆษณาและการค้นพบ

ผู้ลงโฆษณาจะปรากฏต่อผู้ค้นพบรายอื่นๆ และผู้ค้นพบจะได้รับการแจ้งเตือนเมื่อพบผู้ลงโฆษณารายใหม่หรือเมื่อผู้ลงโฆษณาหายไป

กำลังสร้างการเชื่อมต่อ

เมื่อผู้ค้นพบต้องการเชื่อมต่อกับผู้โฆษณาที่อยู่ใกล้เคียง ผู้ค้นพบจะขอการเชื่อมต่อได้

ทั้ง 2 ฝ่ายจะได้รับแจ้งเกี่ยวกับกระบวนการเริ่มต้นการเชื่อมต่อ และทั้ง 2 ฝ่ายจะมีโอกาสยอมรับหรือปฏิเสธการเชื่อมต่อ

เมื่อทั้ง 2 ฝ่ายตอบกลับแล้ว แต่ละฝ่ายจะได้รับแจ้งผลลัพธ์ หากทั้ง 2 ฝ่ายยอมรับการเชื่อมต่อ ระบบจะถือว่าการเชื่อมต่อเสร็จสมบูรณ์ และการโอนข้อมูลจะเริ่มขึ้นได้

การแลกเปลี่ยนข้อมูล

หลังจากสร้างการเชื่อมต่อแล้ว การใช้งาน API เพิ่มเติมจะเป็นแบบสมมาตร ดังนั้นจึงไม่มีความแตกต่างระหว่างผู้โฆษณาและผู้ค้นพบอีกต่อไป

ตอนนี้ทั้ง 2 ฝ่ายจะแลกเปลี่ยนข้อมูลกันได้ เพย์โหลดที่รองรับมี 3 ประเภทดังนี้

  • ไบต์: อาร์เรย์ไบต์จำกัดไว้ที่ 32k ซึ่งเหมาะสำหรับการส่งสิ่งต่างๆ เช่น ข้อมูลเมตาหรือข้อความควบคุม
  • ไฟล์: ไฟล์ทุกขนาด โดยจะโอนจากแอปไปยังอินเทอร์เฟซเครือข่ายโดยมีการคัดลอกข้ามขอบเขตกระบวนการน้อยที่สุด
  • สตรีม: สตรีมข้อมูลที่สร้างขึ้นแบบเรียลไทม์ เช่น ในกรณีของเสียง/วิดีโอที่บันทึกไว้ โดยไม่ทราบขนาดสุดท้ายล่วงหน้า

ผู้รับจะได้รับการแจ้งเตือนเกี่ยวกับข้อมูลใหม่ที่เข้ามา รวมถึงการอัปเดตความคืบหน้า การยกเลิก หรือความล้มเหลว

การเชื่อมต่อที่สร้างขึ้นเป็นแบบ Full-duplex ซึ่งหมายความว่าผู้โฆษณาและผู้ค้นพบสามารถส่งและรับข้อมูลพร้อมกันได้

การเก็บรวบรวมข้อมูล

เมื่อใช้ SDK ของ Nearby ในบริการ Google Play ระบบจะรวบรวมข้อมูลวิเคราะห์การใช้งานเพื่อปรับปรุงประสบการณ์การใช้งาน

  • เมตริกประสิทธิภาพ: ระบบจะรวบรวมเวลาในการตอบสนอง ความน่าเชื่อถือ และอัตราการส่งผ่านข้อมูลของการค้นหาและการเชื่อมต่อเมื่อสแกนหาและเชื่อมต่อกับอุปกรณ์โดยใช้ Nearby SDK
  • ข้อมูลอุปกรณ์: ระบบจะรวบรวมรุ่นอุปกรณ์ ประเทศ เวอร์ชันบิลด์ และชื่อแพ็กเกจแอปพลิเคชัน และเชื่อมโยงกับเมตริกประสิทธิภาพเพื่อระบุส่วนต่างๆ ของภูมิภาคและอุปกรณ์ที่เฉพาะเจาะจง

ผู้ใช้ปลายทางสามารถอนุญาตหรือปฏิเสธการเก็บรวบรวมข้อมูลนี้ได้โดยไปที่การตั้งค่า > Google > การใช้งานและการวินิจฉัย