Sau khi người dùng cấp tất cả các quyền cần thiết, ứng dụng của bạn có thể bắt đầu quảng cáo và khám phá để tìm các thiết bị lân cận.
Trước tiên, hãy chọn Strategy
cho trường hợp sử dụng của bạn.
Strategy
mà bạn chọn sẽ xác định cấu trúc liên kết kết nối cho ứng dụng của bạn (một
nhà quảng cáo sang N người khám phá hoặc M nhà quảng cáo sang N người khám phá).
Trên các thiết bị sẽ quảng cáo, hãy gọi startAdvertising()
bằng
Strategy
và tham số serviceId
giúp nhận dạng ứng dụng của bạn.
Trên các thiết bị sẽ tìm thấy các nhà quảng cáo lân cận, hãy gọi startDiscovery()
bằng
cùng một Strategy
và serviceId
.
Giá trị serviceId
phải xác định riêng biệt ứng dụng của bạn. Phương pháp hay nhất là hãy sử dụng
tên gói của ứng dụng (ví dụ: com.google.example.myapp
).
Ví dụ sau đây trình bày cách quảng cáo:
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. }); }
Tham số ConnectionLifecycleCallback
là lệnh gọi lại sẽ được gọi
khi người khám phá yêu cầu kết nối với nhà quảng cáo. Xem phần Quản lý
Kết nối để biết thông tin chi tiết về
xác định lệnh gọi lại này.
Ví dụ sau đây cho biết cách khám phá:
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. }); }
Tham số EndpointDiscoveryCallback
là lệnh gọi lại sẽ được gọi
khi nhà quảng cáo lân cận được phát hiện hoặc bị mất. Xem phần Quản lý
Kết nối để biết thông tin chi tiết về
xác định lệnh gọi lại này.
Gọi stopAdvertising()
khi bạn không còn cần quảng cáo và
stopDiscovery()
khi bạn không cần khám phá nữa.