ภาพรวม

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

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

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

บทนำ

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

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

ภาพรวมของ API

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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