การเชื่อมต่อใกล้เคียงเป็น API เครือข่ายระหว่างเครื่องที่ช่วยให้แอปค้นพบ เชื่อมต่อและแลกเปลี่ยนข้อมูลกับอุปกรณ์ที่อยู่ใกล้เคียงได้แบบเรียลไทม์ ไม่ว่าการเชื่อมต่อเครือข่ายจะเป็นอย่างไร
ตัวอย่างกรณีใช้งานมีดังนี้
- ไวท์บอร์ดสําหรับการทํางานร่วมกัน: จดไอเดียกับผู้เข้าร่วมที่อยู่ใกล้ๆ บนไวท์บอร์ดเสมือนจริงที่ใช้ร่วมกัน
- การเล่นเกมแบบผู้เล่นหลายคนในท้องถิ่น: ตั้งค่าเกมแบบผู้เล่นหลายคนและเชิญผู้ใช้คนอื่นที่อยู่ใกล้เคียงให้เข้าร่วม
- การเล่นเกมแบบหลายหน้าจอ: ใช้โทรศัพท์หรือแท็บเล็ตเป็นตัวควบคุมเกมเพื่อเล่นเกมที่แสดงบนอุปกรณ์ Android ที่มีหน้าจอใหญ่ในบริเวณใกล้เคียง เช่น Android TV
- การโอนไฟล์แบบออฟไลน์: แชร์รูปภาพ วิดีโอ หรือข้อมูลประเภทอื่นๆ ได้อย่างรวดเร็ว โดยไม่ต้องเชื่อมต่อเครือข่าย
ข้อมูลเบื้องต้น
การเชื่อมต่อ Nearby จะเปิดใช้โฆษณา การสํารวจ และการเชื่อมต่อระหว่าง อุปกรณ์ที่อยู่ใกล้เคียงในลักษณะที่เพียร์ทูเพียร์แบบออฟไลน์โดยสมบูรณ์ การเชื่อมต่อระหว่างอุปกรณ์ต่างๆ มีแบนด์วิดท์สูง เวลาในการตอบสนองต่ํา และมีการเข้ารหัสอย่างสมบูรณ์เพื่อการโอนข้อมูลได้อย่างรวดเร็วและปลอดภัย
เป้าหมายหลักของ API นี้คือการให้บริการแพลตฟอร์มที่เรียบง่าย เชื่อถือได้ และมีประสิทธิภาพ ในส่วนของการทํางานภายใน API ใช้เทคโนโลยีบลูทูธ, BLE และ Wi-Fi ร่วมกัน โดยใช้ประโยชน์จากจุดแข็งของแต่ละจุดไปพร้อมกับหลีกเลี่ยงจุดอ่อนที่เกี่ยวข้อง วิธีนี้จะช่วยขจัดความหลากหลายของ บลูทูธและ Wi-Fi ในแพลตฟอร์มและระบบปฏิบัติการต่างๆ อย่างมีประสิทธิภาพ ช่วยให้นักพัฒนาซอฟต์แวร์โฟกัสเฉพาะฟีเจอร์ที่สําคัญต่อผู้ใช้ได้
ภาพรวม API
การใช้ API แบ่งออกเป็น 2 ระยะ ได้แก่ การเชื่อมต่อล่วงหน้าและการเชื่อมต่อ
ในระยะก่อนการเชื่อมต่อ ผู้ลงโฆษณาลงโฆษณาด้วยตนเอง ส่วน Discoverers จะค้นพบผู้ลงโฆษณาที่อยู่ใกล้เคียงและส่งคําขอเชื่อมต่อ คําขอการเชื่อมต่อจากโปรแกรมสํารวจไปยังผู้ลงโฆษณาเป็นการเริ่มต้นขั้นตอนการตรวจสอบสิทธิ์แบบสมมาตรที่ทําให้ทั้ง 2 ฝ่ายยอมรับ (หรือปฏิเสธคําขอ) คําขอการเชื่อมต่อแยกกัน
หลังจากยอมรับคําขอการเชื่อมต่อจากทั้ง 2 ฝั่งแล้ว ระบบจะถือว่าการเชื่อมต่อเริ่มต้นและอุปกรณ์เข้าสู่ขั้นตอนหลังการเชื่อมต่อ ซึ่งทั้งสองฝ่ายจะแลกเปลี่ยนข้อมูลกันได้
การโฆษณาและการสํารวจ
ผู้ลงโฆษณาจะปรากฏต่อการค้นพบอื่นๆ และการค้นพบจะ แสดงขึ้นเมื่อพบผู้ลงโฆษณาหรือการสูญเสียผู้ลงโฆษณารายใหม่
สร้างการเชื่อมต่อ
เมื่อผู้ค้นพบต้องการเชื่อมต่อกับผู้ลงโฆษณาใกล้เคียง ผู้ค้นพบจะขอการเชื่อมต่อได้
ทั้ง 2 ฝ่ายจะได้รับแจ้งเกี่ยวกับกระบวนการเริ่มการเชื่อมต่อและทั้งคู่จะตอบรับหรือปฏิเสธการเชื่อมต่อ
เมื่อทั้ง 2 ฝ่ายตอบกลับแล้ว ระบบจะแจ้งผลของแต่ละฝ่าย หากทั้ง 2 ฝ่ายยอมรับการเชื่อมต่อ จะถือว่าเชื่อมต่อแล้วเริ่มโอนข้อมูล
การแลกเปลี่ยนข้อมูล
หลังจากสร้างการเชื่อมต่อแล้ว การใช้ API เพิ่มเติมจะถือว่าสมมาตรกัน ดังนั้นจึงไม่มีความแตกต่างระหว่างผู้ลงโฆษณากับผู้ค้นหา
ทั้ง 2 ฝ่ายแลกเปลี่ยนข้อมูลกันได้แล้ว เพย์โหลดที่รองรับมีอยู่ 3 ประเภท ได้แก่
- ไบต์: อาร์เรย์ไบต์จํากัดอยู่ที่ 32k เหมาะสําหรับการส่งสิ่งต่างๆ เช่น ข้อมูลเมตาหรือข้อความควบคุม
- ไฟล์: ไฟล์ทุกขนาด ระบบจะโอนจากแอปไปยังอินเทอร์เฟซเครือข่ายโดยคัดลอกขอบเขตกระบวนการให้น้อยที่สุด
- สตรีม: สตรีมข้อมูลที่สร้างขึ้นทันที เช่นเดียวกับในกรณีของเสียง/วิดีโอที่บันทึก โดยไม่ทราบขนาดที่แน่ชัดล่วงหน้า
ผู้รับจะได้รับการแจ้งเตือนเมื่อมีข้อมูลเข้ามาใหม่ รวมถึงแจ้งความคืบหน้า การยกเลิก หรือความล้มเหลว
การเชื่อมต่อที่กําหนดไว้เป็นการเชื่อมต่อแบบ 2 ด้าน ซึ่งหมายความว่าผู้ลงโฆษณาและผู้ค้นหาจะส่งและรับข้อมูลพร้อมกันได้
การเก็บรวบรวมข้อมูล
เมื่อใช้ SDK บริการ Google Play ที่อยู่ใกล้เคียง ระบบจะรวบรวมการวิเคราะห์การใช้งานเพื่อปรับปรุงประสบการณ์การใช้งาน
- เมตริกประสิทธิภาพ: ระบบจะรวบรวมการค้นพบและเวลาในการตอบสนองของการเชื่อมต่อ ความเสถียร และอัตราการส่งข้อมูลเมื่อสแกนหาและเชื่อมต่อกับอุปกรณ์ที่ใช้ SDK ใกล้เคียง
- ข้อมูลอุปกรณ์: ระบบจะรวบรวมและเชื่อมโยงรุ่นอุปกรณ์ ประเทศ เวอร์ชันบิวด์ และชื่อแพ็กเกจแอปพลิเคชัน ซึ่งเชื่อมโยงกับเมตริกประสิทธิภาพเพื่อระบุส่วนภูมิภาคและเฉพาะอุปกรณ์
ผู้ใช้ปลายทางสามารถอนุญาตหรือปฏิเสธคอลเล็กชันนี้ได้โดยไปที่การตั้งค่า > Google > การใช้งานและการวินิจฉัย