โฆษณาและสำรวจ

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

ก่อนอื่นให้เลือก Strategy สำหรับกรณีการใช้งานของคุณ Strategy ที่คุณเลือกจะเป็นตัวกำหนดโทโพโลยีการเชื่อมต่อสำหรับแอปของคุณ ( ผู้ลงโฆษณา N เป็น N หรือผู้ลงโฆษณา M ต่อ N ครั้ง)

ในอุปกรณ์ที่จะโฆษณา ให้โทรหา startAdvertising() พร้อมระบุ Strategy และพารามิเตอร์ serviceId ที่ระบุแอปของคุณ

ในอุปกรณ์ที่จะค้นหาผู้ลงโฆษณาที่อยู่ใกล้เคียง ให้โทรหา startDiscovery() ด้วย Strategy และ serviceId เดียวกัน

ค่า serviceId ต้องระบุแอปของคุณแบบไม่ซ้ำ ตามแนวทางปฏิบัติแนะนำ ให้ใช้ ชื่อแพ็กเกจของแอป (เช่น com.google.example.myapp)

ตัวอย่างต่อไปนี้แสดงวิธีการโฆษณา

private void startAdvertising() {
  AdvertisingOptions advertisingOptions =
      new AdvertisingOptions.Builder().setStrategy(STRATEGY).build();
  Nearby.getConnectionsClient(context)
      .startAdvertising(
          getLocalUserName(), SERVICE_ID, connectionLifecycleCallback, advertisingOptions)
      .addOnSuccessListener(
          (Void unused) -> {
            // We're advertising!
          })
      .addOnFailureListener(
          (Exception e) -> {
            // We were unable to start advertising.
          });
}

พารามิเตอร์ ConnectionLifecycleCallback คือ Callback ที่จะเรียกใช้ เมื่อผู้ค้นพบขอเชื่อมต่อกับผู้ลงโฆษณา โปรดดูที่จัดการ การเชื่อมต่อสำหรับรายละเอียดเกี่ยวกับ การกำหนดการเรียกกลับนี้

ตัวอย่างต่อไปนี้แสดงวิธีการค้นหาข้อมูล

private void startDiscovery() {
  DiscoveryOptions discoveryOptions =
      new DiscoveryOptions.Builder().setStrategy(STRATEGY).build();
  Nearby.getConnectionsClient(context)
      .startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions)
      .addOnSuccessListener(
          (Void unused) -> {
            // We're discovering!
          })
      .addOnFailureListener(
          (Exception e) -> {
            // We're unable to start discovering.
          });
}

พารามิเตอร์ EndpointDiscoveryCallback คือ Callback ที่จะเรียกใช้ เมื่อพบผู้ลงโฆษณาที่อยู่ใกล้เคียงหรือหาไม่เจอ โปรดดูที่จัดการ การเชื่อมต่อสำหรับรายละเอียดเกี่ยวกับ การกำหนดการเรียกกลับนี้

โทรหา stopAdvertising() เมื่อคุณไม่จำเป็นต้องโฆษณาอีกต่อไป และ stopDiscovery()เมื่อคุณไม่จำเป็นต้องค้นหาอีกต่อไป